public static void HandleBusinessPartnerLogin(IBusinessPartnerService businessPartnerService, IMemoryCache cache) { if (string.IsNullOrEmpty(cache.AccessToken()) || string.IsNullOrEmpty(cache.LoginCustomerId())) { var response = businessPartnerService.Login(); cache.SetLoginCustomerId(response.LoginResponseData.UserId); cache.SetAccessToken(response.LoginResponseData.AccessToken); } }
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); }
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)); }