using MAX.Core.DependencyInjection; using Store.Users.Contracts; using Store.Users.Contracts.Dtos; using Store.Users.Entities; using Store.Users.Mappers; using Store.Users.Repositories; using System; using System.Collections.Generic; using System.Text; namespace Store.Users.Services { internal class UserQueryService : IUserQueryService, ITransientDependency { private readonly IUserRepository _userRepository; public UserQueryService(IUserRepository userRepository) { _userRepository = userRepository; } public async Task GetUser(string userName) { var sql = _userRepository.Where(a => a.UserName == userName).ToSql(); var user = await _userRepository.Where(a => a.UserName == userName).FirstAsync(); if (user != null) { if (user.IsMainUser == false) { var mainUser = await _userRepository.Where(a => a.UserName == user.ParentUserName).FirstAsync(); if (mainUser != null) { user.OemId = mainUser.OemId; user.PostagePerOrder = mainUser.PostagePerOrder; user.RefundPostagePerOrder = mainUser.RefundPostagePerOrder; user.GiftOemAmountPerOrder = mainUser.GiftOemAmountPerOrder; user.SyncLogisticsPerOrder = mainUser.SyncLogisticsPerOrder; } } } return new UserMapper().ToInfo(user); } } }