public void AddServiceRepository(BaseReportFilter <ServiceRepositoryDto> model) { try { BRule.Assert( model.ReportFilter.Code != null && model.ReportFilter.MethodName != null && model.ReportFilter.ServiceName != null && model.ReportFilter.Title != null, RuleExceptionCodeCommon.AllParametersAreRequired.GetEnumDescription(), (int)RuleExceptionCodeCommon.AllParametersAreRequired); var repo = ServiceRepositoryService.GetServiceRepositories(); var entity = new ServiceRepository { Code = model.ReportFilter.Code, MethodName = model.ReportFilter.MethodName, ServiceName = model.ReportFilter.ServiceName, Title = model.ReportFilter.Title }; ServiceRepositoryService.Save(entity); } catch (Exception ex) { Logger.ErrorException(ex.Message, ex); throw; } }
public void InitializeRule() { BRule Rule = new BRule(PaymentType.PHY_PROD.ToString()); Packaging packaging = new Packaging(); Rule.RuleActionInstance += packaging.GeneratePackagingSlip; Rule.RuleActionInstance += packaging.CommissionToAgent; bRules.Add(Rule); }
public AuthenticationResponse Login(string userName, string password, string clientId, string clientPassword, string identityServerAddress) { try { var client = new TokenClient( identityServerAddress, clientId, clientPassword); var token = client.RequestResourceOwnerPasswordAsync(userName, password, "email profile openid iranMarketerMail").Result; var application = clientId.ParseEnum(Applications.UnKnown); IdentityModels.ApplicationUser user = null; Party party = null; if (!token.AccessToken.IsNullOrEmpty()) { user = AuthenticationManager.AuthenticationProvider.GetUserByName(userName); } var result = new AuthenticationResponse { AccessToken = token.AccessToken, LifeTime = (int)token.ExpiresIn, ApplicationUser = user == null ? null : new ApplicationUserDTO { Email = user?.Email, Status = user?.Status ?? 0, IsCustomizedAccess = user.IsCustomizedAccess, CreateDate = user?.CreateDate ?? DateTime.MinValue, // PhoneNumber = party?., UserName = user?.UserName, IsAdmin = user?.IsAdmin ?? false, DisplayNameFa = party != null ? (!Regex.IsMatch(user.UserName, "^demo\\d$") ? party?.FullName : "علی احمدی") : user.DisplayName, DisplayNameEn = party != null ? (!Regex.IsMatch(user.UserName, "^demo\\d$") ? party?.FullName : "Joan Smith") : user.DisplayName, }, HasAccess = token.AccessToken != null, ClientId = clientId, // Pages = AccessService.GetAccessiblePagesByUsername(userName, application).Select(x => x.ToString()).ToList() }; BRule.Assert(result.AccessToken != null, RuleExceptionCodeUserManagement.LoginFaild.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.LoginFaild); BRule.Assert(result.ApplicationUser.Status == (int)UserStatus.Active, RuleExceptionCodeUserManagement.UserIsNotActive.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.UserIsNotActive); return(result); } catch (Exception ex) { Logger.ErrorException(ex.Message, ex); throw; } }
public void UpdatePartyBankAccount(PartyBankAccount model) { try { BRule.Assert(model.PartyId > 0, RuleExceptionCodeParty.CustomerEntityIsNull.GetEnumDescription(), (int)RuleExceptionCodeParty.CustomerEntityIsNull); BRule.Assert(model.BankId > 0, RuleExceptionCodeBankDeposit.BankIdIsInvalid.GetEnumDescription(), (int)RuleExceptionCodeBankDeposit.BankIdIsInvalid); var def = PartyBankAccountService.GetPartyDefaultBankAccount(model.PartyId); model.Created = model.Modified = DateTime.Now; var dbFactory = CoreContainer.Container.Resolve <IDbFactory>(); using (var uow = dbFactory.Create <IUnitOfWork, ISession>(IsolationLevel.Serializable)) { try { if (model.IsDefault == true) { if (def.Id != model.Id) { def.IsDefault = false; PartyBankAccountService.SaveOrUpdate(def, uow); } else { model.IsDefault = true; model.Status = (int)AccountStatus.Active; } } else { if (def.Id == model.Id) { model.IsDefault = true; model.Status = (int)AccountStatus.Active; } } PartyBankAccountService.SaveOrUpdate(model, uow); } catch (Exception e) { uow.Rollback(); throw; } } } catch (Exception e) { Logger.ErrorException(e.Message, e); throw; } }
public List <TestEntity> GetMoreThanGivenAge(int age) { try { BRule.Assert(age > 0, "Age is invalid"); var result = Repository.GetMoreThanGivenAge(age); return(result); } catch (Exception ex) { _logger.ErrorException(ex.Message, ex); throw; } }
public void SaveBasicPartyInformation(Domain.DTO.RetailParty party) { try { BRule.Assert(party != null, RuleExceptionCodeCommon.FilterIsNull.GetEnumDescription(), (int)RuleExceptionCodeCommon.FilterIsNull); var entity = ObjectMapper.BaseConverter.ConvertSourceToDest <Domain.DTO.RetailParty, RetailParty>(party); SaveOrUpdate(entity); } catch (Exception e) { Logger.ErrorException(e.Message, e); throw; } }
public List <TestEntity> GetByFirstName(string firstName) { try { BRule.Assert(!string.IsNullOrEmpty(firstName), "Firstname is invalid"); var result = Repository.GetByFirstName(firstName); return(result); } catch (Exception ex) { _logger.ErrorException(ex.Message, ex); throw; } }
public List <TestEntity> GetAllUsersByGivenFirstNames(List <string> firstNames) { try { firstNames.ForEach(x => BRule.Assert(!string.IsNullOrEmpty(x), "Firstname is invalid")); var result = Repository.GetAllUsersByGivenFirstNames(firstNames); return(result); } catch (Exception ex) { _logger.ErrorException(ex.Message, ex); throw; } }
public void AddServiceAccessByUserNameAndPage(string username, List <PageType> pageTypes, Applications applications) { try { BRule.Assert(!string.IsNullOrEmpty(username), RuleExceptionCodeUserManagement.InvalidUserName.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.InvalidUserName); Dao.AddServiceAccessByUserNameAndPage(username, pageTypes, applications); } catch (Exception ex) { Logger.ErrorException(ex.Message, ex); throw ex; } }
public List <PageType> GetAccessiblePagesByUsername(string username, Applications application) { try { BRule.Assert(!string.IsNullOrEmpty(username), RuleExceptionCodeUserManagement.InvalidUserName.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.InvalidUserName); return(Dao.GetAccessiblePagesByUsername(username, application)); } catch (Exception ex) { Logger.ErrorException(ex.Message, ex); throw ex; } }
public void AddServiceAccessByRoleIdAndPage(string roleId, List <PageAllow> pageTypes, Applications applications) { try { BRule.Assert(!string.IsNullOrEmpty(roleId), RuleExceptionCodeUserManagement.InvalidRole.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.InvalidRole); Dao.AddServiceAccessByRoleIdAndPage(roleId, pageTypes, applications); } catch (Exception ex) { Logger.ErrorException(ex.Message, ex); throw ex; } }
/// <summary> /// </summary> /// <param name="filter"></param> /// <returns></returns> public Domain.DTO.UserManagement GetUserInformationByUserName(BaseReportFilter <UserManagementEditFilter> filter) { try { var username = filter.ReportFilter?.UserName; BRule.Assert(!username.IsNullOrEmpty(), RuleExceptionCodeUserManagement.UserNameIsEmpty.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.UserNameIsEmpty); var key = string.Format(pattern, username); var dtoCache = CustomCache.Get(key) as Domain.DTO.UserManagement; if (dtoCache != null) { return(dtoCache); } //var user = AuthenticationManager.AuthenticationProvider.UserManager.FindByName(username); //TODO //Mapper.CreateMap<IdentityModels.ApplicationUser, Domain.DTO.UserManagement>().ForMember(dest => dest.CreateDate, // opt => opt.MapFrom(src => src.CreateDate.ConvertMiladiToJalali())); //var model = Mapper.Map<IdentityModels.ApplicationUser, Domain.DTO.UserManagement>(user); var model = UserManagementService.GetUserByUserName(username); var party = PartyProvider.GetByUserName(username); if (party != null) { var branch = PartyBranchService.GetAll().FirstOrDefault(x => x.PartyId == party.Id && x.ValidUntil == null); if (branch?.BranchId != null) { if (branch?.BranchId != null) { model.BranchId = (int)branch?.BranchId; } } } model.RolesCodeList = AuthenticationManager.AuthenticationProvider.UserManager.GetRoles(model.Id).ToList(); CustomCache.Insert(key, model, 1200); return(model); } catch (Exception ex) { Logger.ErrorException(ex.Message, ex); throw; } }
//public List<ServiceAccessDto> GetAllServiceAccessByUserName(BaseReportFilter<ReportFilter> filter) //{ // try // { // var service = AccessService.GetServiceAccesses().Where(x => x.UserId != null && x.Allow = true); // foreach (var serviceAccess in service) // { // } // var result = service.Select(t => // { // var serviceRep = // RepositoryService.GetServiceRepositories() // .FirstOrDefault(x => x.Id == t.ServiceRepositoryId); // return new ServiceAccessDto // { // Allow = t.Allow, // Id = t.Id, // UserName = // !t.UserId.IsNullOrEmpty() // ? AuthenticationManager.AuthenticationProvider.UserManager.FindByIdAsync(t.UserId) // .Result.UserName // : null, // LastUpdate = t.LastUpdate.ConvertMiladiToJalali(), // RoleName = // AuthenticationManager.AuthenticationProvider.RoleManager.FindByIdAsync(t.RoleId) // .Result?.Name, // ControllerName = serviceRep?.ServiceName, // MethodNameEn = serviceRep?.MethodName, // MethodNameFa = serviceRep?.Title, // Code = serviceRep?.Code, // ApplicationTitle = ((Applications)t.ApplicationId).ToString() // }; // } // ); // return result.ToList(); // } // catch (Exception ex) // { // Logger.ErrorException(ex.Message, ex); // throw; // } //} //public void UpdateAccess(BaseReportFilter<ServiceAccessUpdateFilter> model) //{ // try // { // foreach (var access in model.ReportFilter.AccessDtos) // { // BRule.Assert(access.Allow != null && access.Id > 0, // RuleExceptionCode.AllParametersAreRequired.GetEnumDescription(), // (int)RuleExceptionCode.AllParametersAreRequired); // AccessService.UpdateAccess(new ServiceAccess // { // Id = access.Id, // Allow = access.Allow, // LastUpdate = DateTime.Now // }); // } // } // catch (Exception ex) // { // Logger.ErrorException(ex.Message, ex); // throw ex; // } //} public void AddServiceAccessByUserNameAndPage(BaseReportFilter <ServiceAccessAddFilter> filter) { try { BRule.Assert((bool)!filter?.ReportFilter?.UserNames?.FirstOrDefault().IsNullOrEmpty(), RuleExceptionCodeCommon.AllParametersAreRequired.GetEnumDescription(), (int)RuleExceptionCodeCommon.AllParametersAreRequired); ServiceAccessService.AddServiceAccessByUserNameAndPage(filter.ReportFilter.UserNames.FirstOrDefault(), null, Applications.IranMarketerFund); } catch (Exception e) { Logger.ErrorException(e.Message, e); throw; } }
public void AddServiceAccessByRoleIdAndPage(BaseReportFilter <ServiceAccessAddFilter> filter) { try { BRule.Assert(filter?.ReportFilter?.ApplicationRole != null, RuleExceptionCodeCommon.AllParametersAreRequired.GetEnumDescription(), (int)RuleExceptionCodeCommon.AllParametersAreRequired); ServiceAccessService.AddServiceAccessByRoleIdAndPage(filter.ReportFilter.ApplicationRole.Id, filter.ReportFilter.PageTypes, Applications.IranMarketerFund); } catch (Exception e) { Logger.ErrorException(e.Message, e); throw; } }
public void AddRoles(BaseReportFilter <AddRoleFilter> model) { try { BRule.Assert(model.ReportFilter.RoleName != null, RuleExceptionCodeUserManagement.InvalidUserName.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.InvalidUserName); if (AuthenticationManager.AuthenticationProvider.RoleManager.FindByName(model.ReportFilter.RoleName) == null) { AuthenticationManager.AuthenticationProvider.CreateRole(model.ReportFilter.RoleName); } } catch (Exception e) { Logger.ErrorException(e.Message, e); throw; } }
public void UpdateUserInformation(BaseReportFilter <UserManagementUpdateFilter> filter) { try { BRule.Assert(filter?.ReportFilter != null, RuleExceptionCodeCommon.FilterIsNull.GetEnumDescription(), (int)RuleExceptionCodeCommon.FilterIsNull); BRule.Assert(filter.ReportFilter.UserName != null, RuleExceptionCodeUserManagement.InvalidUserName.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.InvalidUserName); BRule.Assert(filter.ReportFilter.DisplayName != null, RuleExceptionCodeUserManagement.DisplayNameIsNull.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.DisplayNameIsNull); var user = AuthenticationManager.AuthenticationProvider.UserManager.FindByName(filter.ReportFilter.UserName); BRule.Assert(user != null, RuleExceptionCodeUserManagement.UserNotFound.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.UserNotFound); var ifExistEmail = AuthenticationManager.AuthenticationProvider.UserManager.FindByEmail(filter.ReportFilter.Email); BRule.Assert(ifExistEmail == null || ifExistEmail.UserName == user.UserName, RuleExceptionCodeUserManagement.EmailExits.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.EmailExits); BRule.Assert(!filter.ReportFilter.PhoneNumber.IsNullOrEmpty(), RuleExceptionCodeUserManagement.InvalidMoileNumber.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.InvalidMoileNumber); Mapper.CreateMap <UserManagementUpdateFilter, IdentityModels.ApplicationUser>() .ForMember(dest => dest.CreateDate, opt => opt.MapFrom(src => DateTime.Now)) .ForMember(dest => dest.Status, opt => opt.MapFrom(src => (int)src.Status)) .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.UserName, opt => opt.Ignore()) .ForMember(dest => dest.PasswordHash, opt => opt.Ignore()); var result = Mapper.Map(filter.ReportFilter, user); AuthenticationManager.AuthenticationProvider.UserManager.Update(result); var currentRole = AuthenticationManager.AuthenticationProvider.UserManager.GetRoles(user.Id); if (currentRole != null) { AuthenticationManager.AuthenticationProvider.UserManager.RemoveFromRoles(user.Id, currentRole.ToArray()); if (filter.ReportFilter.RolesCodeList != null) { AuthenticationManager.AuthenticationProvider.UserManager.AddToRoles(user.Id, filter.ReportFilter.RolesCodeList.ToArray()); } } else { if (filter.ReportFilter.RolesCodeList != null) { AuthenticationManager.AuthenticationProvider.UserManager.AddToRoles(user.Id, filter.ReportFilter.RolesCodeList.ToArray()); } } var party = PartyProvider.GetByUserName(filter.ReportFilter.UserName); var partyBranch = PartyBranchService.GetAll().FirstOrDefault(x => x.PartyId == party.Id && x.ValidUntil == null); //TODO update branch //PartyProvider.GetByNationalId() var dbFactory = CoreContainer.Container.Resolve <IDbFactory>(); using (var uow = dbFactory.Create <IUnitOfWork, ISession>(IsolationLevel.Serializable)) { try { partyBranch.ValidUntil = DateTime.Now; partyBranch.ModifiedBy = filter.AuthenticatedUserName; PartyBranchService.SaveOrUpdate(partyBranch, uow); } catch (Exception ex) { uow.Rollback(); throw; } } } catch (Exception ex) { Logger.ErrorException(ex.Message, ex); throw; } }
public void AddUser(UserManagementAddFilter model) { var addedUser = new IdentityModels.ApplicationUser(); try { BRule.Assert(model != null, RuleExceptionCodeCommon.FilterIsNull.GetEnumDescription(), (int)RuleExceptionCodeCommon.FilterIsNull); BRule.Assert(model.UserName != null, RuleExceptionCodeUserManagement.InvalidUserName.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.InvalidUserName); BRule.Assert(model.DisplayName != null, RuleExceptionCodeUserManagement.DisplayNameIsNull.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.DisplayNameIsNull); var user = AuthenticationManager.AuthenticationProvider.UserManager.FindByName(model.UserName); BRule.Assert(user == null, RuleExceptionCodeUserManagement.UserNameExists.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.UserNameExists); var ifExistEmail = AuthenticationManager.AuthenticationProvider.UserManager.FindByEmail(model.Email); BRule.Assert(ifExistEmail == null, RuleExceptionCodeUserManagement.EmailExits.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.EmailExits); AuthenticationManager.AuthenticationProvider.UserManager.PasswordValidator = new PasswordValidator { RequireDigit = false, RequireLowercase = false, RequireNonLetterOrDigit = false, RequireUppercase = false, RequiredLength = 5 }; BRule.Assert(model.Password.Equals(model.ConfirmPassword), RuleExceptionCodeUserManagement.ConfirmPasswordDontMatch.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.ConfirmPasswordDontMatch); BRule.Assert( AuthenticationManager.AuthenticationProvider.UserManager.PasswordValidator.ValidateAsync( model.Password).Result.Succeeded, RuleExceptionCodeUserManagement.PasswordisInvalid.GetEnumDescription(), (int)RuleExceptionCodeUserManagement.PasswordisInvalid); Mapper.CreateMap <UserManagementAddFilter, IdentityModels.ApplicationUser>() .ForMember(dest => dest.CreateDate, opt => opt.MapFrom(src => DateTime.Now)) .ForMember(dest => dest.Id, opt => opt.Ignore()) .ForMember(dest => dest.PasswordHash, opt => opt.Ignore()) .ForMember(x => x.EmailConfirmed, y => y.UseValue(true)) .ForMember(x => x.PhoneNumberConfirmed, y => y.UseValue(true)) .ForMember(x => x.Status, y => y.UseValue(1)) .ForMember(x => x.LockoutEnabled, y => y.UseValue(false)); var result = Mapper.Map <UserManagementAddFilter, IdentityModels.ApplicationUser>(model); result.LockoutEnabled = false; AuthenticationManager.AuthenticationProvider.UserManager.Create(result, model.Password); addedUser = AuthenticationManager.AuthenticationProvider.UserManager.FindByName(model.UserName); var dbFactory = CoreContainer.Container.Resolve <IDbFactory>(); using (var uow = dbFactory.Create <IUnitOfWork, ISession>(IsolationLevel.Serializable)) { try { switch (model.PartyType) { case PartyType.Retail: { PartyProvider.Save(new RetailParty() { Created = DateTime.Now, Modified = DateTime.Now, CreatedBy = model.AuthenticatedUserName, ModifiedBy = model.AuthenticatedUserName, FullName = model.DisplayName, UserName = addedUser.UserName, UserId = addedUser.Id, }, uow); break; } case PartyType.Institutional: { LegalPartyProvider.Save(new LegalParty() { Created = DateTime.Now, Modified = DateTime.Now, CreatedBy = model.AuthenticatedUserName, ModifiedBy = model.AuthenticatedUserName, UserName = addedUser.UserName, UserId = addedUser.Id, CompanyName = model.DisplayName }, uow); break; } default: break; } } catch (Exception) { uow.Rollback(); } } } catch (Exception ex) { AuthenticationManager.AuthenticationProvider.UserManager.Delete(addedUser); Logger.ErrorException(ex.Message, ex); throw ex; } }