public async Task <UserModel> Login(LoginModel loginModel) { var subUsers = await subUserClient.FetchSubUsersForBusinessUser(fetchSubUsersForBusinessUserRequestMapper.MapToRequest(loginModel), cache.AccessToken()); accountBusinessRules.LoginCheck(loginModel, unitOfWork.Account, subUsers); var account = unitOfWork.Account.GetById(a => a.Username == loginModel.Username, "Role"); var subUser = subUsers.Where(a => loginModel.Username.Equals(a.UserCode)).FirstOrDefault(); return(accountMapper.MapToUserModel(account, subUser)); }
public async Task <DeviceDetailModel> GetDevice(string username) { var subUsers = await subUserClient.FetchSubUsersForBusinessUser(fetchSubUsersForBusinessUserRequestMapper.MapToRequest(username), cache.AccessToken()); if (subUsers == null || subUsers.Count == 0 || subUsers.Where(item => item.UserCode.Equals(username)).FirstOrDefault() == null) { return(null); } var subUser = subUsers.Where(item => item.UserCode.Equals(username)).FirstOrDefault(); var device = unitOfWork.DeviceDetail.GetById(d => d.SerailNumber == subUser.Imei); var deviceDetailModel = deviceDetailMapper.MapToDeviceDetailModel(subUser); deviceDetailMapper.MapToDeviceDetailModel(deviceDetailModel, device); return(deviceDetailModel); }