public void Initialize() { queryUtilsMock = new Mock <IQueryUtils>(); DependencyInjector.Register(queryUtilsMock.Object).As <IQueryUtils>(); databaseMock = new Mock <IIdeaDatabaseDataContext>(); DependencyInjector.Register(databaseMock.Object).As <IIdeaDatabaseDataContext>(); isacUserUtilsMock = new Mock <IUserUtils>(); DependencyInjector.Register(isacUserUtilsMock.Object).As <IUserUtils>(); requestFindOrInsertHPIDProfile = new RequestFindOrInsertHPIDProfile(); requestFindOrInsertHPIDProfile.Locale = "en-US"; requestFindOrInsertHPIDProfile.HPIDprofileId = "hpidProfile"; requestFindOrInsertHPIDProfile.HPPprofileId = "HPPprofileId"; requestFindOrInsertHPIDProfile.tokenDetails = new TokenDetails(); requestFindOrInsertHPIDProfile.clientId = "clientID"; requestFindOrInsertHPIDProfile.apiRetainOldValues = APIMethods.POSTGetProfile; }
private GetProfileResponse GetCustomerProfileFromHPIDAndDatabase(GetProfileResponse response, UserAuthenticationInterchange hppAuthInterchange, TokenDetails sessionToken, CustomerIds idS, bool RetainOldValues, APIMethods apiRetainOldValues) { User profile = null; List <RoleMapping> roleMappings = null; try { // check is done based on profile, customerId is also generated for a new profile bool IsNewCustomer = false; RequestFindOrInsertHPIDProfile requestFindOrInsertHPID = new RequestFindOrInsertHPIDProfile(); requestFindOrInsertHPID.Locale = string.IsNullOrEmpty(response?.CustomerProfileObject?.Locale)?TranslationUtils.Locale(hppAuthInterchange.LanguageCode, hppAuthInterchange.CountryCode):response?.CustomerProfileObject?.Locale; requestFindOrInsertHPID.HPIDprofileId = idS.HPIDid; requestFindOrInsertHPID.HPPprofileId = idS.HPPid; requestFindOrInsertHPID.tokenDetails = sessionToken; requestFindOrInsertHPID.clientId = hppAuthInterchange.ClientId; requestFindOrInsertHPID.apiRetainOldValues = apiRetainOldValues; requestFindOrInsertHPID.EmailAddrees = response?.CustomerProfileObject?.EmailAddress; requestFindOrInsertHPID.CompanyName = response?.CustomerProfileObject?.CompanyName; requestFindOrInsertHPID.ActiveHealth = response.CustomerProfileObject.ActiveHealth; requestFindOrInsertHPID.FirstName = response?.CustomerProfileObject?.FirstName; requestFindOrInsertHPID.LastName = response.CustomerProfileObject.LastName; profile = userUtils.FindOrInsertHPIDProfile(response, requestFindOrInsertHPID, out IsNewCustomer); if (response.ErrorList.Count > 0) { return(response); } if (profile.RoleMappings.Count == 0) { roleMappings = roleUtils.InsertRoleMapping(response, profile.UserId); } else { roleMappings = profile.RoleMappings.ToList(); } hppAuthInterchange.UserId = Convert.ToInt32(profile.UserId); hppAuthInterchange.Token = sessionToken.AccessToken; hppAuthInterchange.IsHPID = true; // Register profile & session token in database customerUtils.InsertOrUpdateHPPToken(response, (UserAuthentication)hppAuthInterchange, RetainOldValues); List <int> roleids = roleMappings.Select(r => r.RoleId).ToList(); List <UserRoles> userRoles = new List <UserRoles>(); RESTAPIGetRolesResponse rolesResponse = new RESTAPIGetRolesResponse(); statusUtils.GetRoles(rolesResponse); if (rolesResponse.RolesList.Count != 0) { var rolResponseList = rolesResponse.RolesList.Where(r => roleids.Contains(r.RoleId)).ToList(); foreach (var roles in rolResponseList) { userRoles.Add(new UserRoles() { Id = roles.RoleId, Name = roles.RoleName }); } } response.Credentials = new AccessCredentials() { UserID = Convert.ToInt32(profile.UserId), SessionToken = QueryUtils.GetMD5(sessionToken.AccessToken), CallerId = hppAuthInterchange.CallerId, Token = sessionToken.AccessToken, Roles = userRoles }; response = GetProfileDataFromDatabase(response, profile); response.CustomerProfileObject.IsNewCustomer = IsNewCustomer; response.LoginDate = hppAuthInterchange.LoginDate; } catch (Exception ex) { response.ErrorList.Add(new Fault("GetCustomerProfileFailed", ex.Message)); } return(response); }