public CustomPrincipal(UserDto userDto, CompanyDto companyDto) { Identity = new GenericIdentity(GetUserIdentity(userDto)); UserId = userDto.Id; CompanyId = userDto.CompanyId; FullName = userDto.Employee != null ? userDto.Employee.FullName : null; Email = userDto.Employee != null && userDto.Employee.MainContactDetails != null && userDto.Employee.MainContactDetails.Email != null ? userDto.Employee.MainContactDetails.Email: string.Empty; CompanyName = companyDto.CompanyName; _allowableSites = userDto.AllowedSites; _permissions = userDto.Permissions; }
private CompanyDto GetCompanyDto(int companyId) { CompanyDto companyDto; var companyKey = CreateCompanyKey(companyId); if (_cacheHelper.Load(companyKey, out companyDto) == false) { var companyDetailsDto = _clientService.GetCompanyDetails(companyId); companyDto = new CompanyDto() { Id = companyDetailsDto.Id, CompanyName = companyDetailsDto.CompanyName }; _cacheHelper.Add(companyDto, companyKey, CacheTime.OneDay); } return companyDto; }
private static CustomPrincipal CreateCustomPrinciple(IEnumerable<string> permissions, string companyName = "") { var userDto = new UserDto() { Id = Guid.Empty, CompanyId = 0, Permissions = permissions }; var companyDto = new CompanyDto() { CompanyName = companyName, Id = 100L }; var customPrinciple = new CustomPrincipal(userDto, companyDto); return customPrinciple; }
public void Given_user_not_in_cache_and_company_in_cache_When_create_custom_principal_Then_should_call_correct_methods() { // Given string userCacheKey = "User:"******"Company:" + _companyId; var target = CreateTarget(); _userService .Setup(x => x.GetByIdAndCompanyIdIncludeDeleted(_userId, _companyId)) .Returns(_userDto); var companyDto = new CompanyDto(); _cacheHelper .Setup(x => x.Load(companyCacheKey, out companyDto)) .Returns(true); // When target.Create(_companyId, _userId); // Then _cacheHelper.Verify(x => x.Add(_userDto, userCacheKey, 1)); _userService.VerifyAll(); _cacheHelper.Verify(x => x.Add(It.Is<CompanyDto>(y => y.CompanyName == _companyDto.CompanyName), companyCacheKey, 1440),Times.Never()); }