public List <string> ValidatePayerData() { var errors = new List <string>(); PayerCity = PayerCity.Trim(); PayerFirstName = PayerFirstName.Trim(); PayerLastName = PayerLastName.Trim(); PayerCity = PayerCity.Trim(); PayerState = PayerState.Trim(); PayerZip = PayerZip.Trim(); PayerPhoneNumber = PayerPhoneNumber.Trim(); PayerEmailAddress = PayerEmailAddress.Trim(); PayerCompanyName = PayerCompanyName.Trim(); if (PayerFirstName.Length == 0) { errors.Add("The Payer's First name is a required field."); } if (PayerLastName.Length == 0) { errors.Add("The Payer's Last name is a required field."); } if (PayerPhoneNumber.Length == 0) { errors.Add("The Payer's phone number is a required field."); } if (PayerEmailAddress.Length > 0) { try { var email = new System.Net.Mail.MailAddress(PayerEmailAddress); } #pragma warning disable CS0168 // Variable is declared but never used catch (FormatException fe) #pragma warning restore CS0168 // Variable is declared but never used { errors.Add("The email address provided does not appear to be in a valid format."); } } if (PayerStreetAddress.Length == 0) { errors.Add("The Payer's Street Address must be provided."); } if (PayerZip.Length == 0) { errors.Add("The Payer's Zip Code must be provided."); } return(errors); }
public void Registrate(RegistrateViewModel registrateModel) { if (registrateModel.UserNumber <= 0) { throw new ArgumentException("Payer number"); } if (string.IsNullOrEmpty(registrateModel.UserPassword) || string.IsNullOrEmpty(registrateModel.UserConfirmPassword)) { throw new ArgumentException("Password or confirm password"); } if (registrateModel.UserPassword != registrateModel.UserConfirmPassword) { throw new ArgumentException("Passwords are not same"); } var targetRegion = localDb.Regions.FirstOrDefault(region => region.Id == registrateModel.UserRegionId); if (targetRegion == null) { throw new Exception("Region not found"); } var existUser = FindUser(registrateModel.UserNumber, registrateModel.UserRegionId); if (existUser != null) { throw new Exception("User already exist"); } var departments = localDb.Departments.Where(department => department.RegionId == targetRegion.Id); PayerState targetPayerState = null; Department targetDepartment = null; foreach (var department in departments) { var payerRepository = GetPayerRepository(department.Url, department.Path); targetPayerState = payerRepository.Get(registrateModel.UserNumber); if (targetPayerState != null) { targetDepartment = department; break; } } if (targetPayerState == null || targetDepartment == null) { throw new Exception($"Payer {registrateModel.UserNumber} in region {targetRegion.Name} is not found"); } var newUser = new User { Number = registrateModel.UserNumber, Name = targetPayerState.Name, DepartmentId = targetDepartment.Id }; newUser.PasswordHash = passwordHasher.HashPassword(newUser, registrateModel.UserPassword); localDb.Users.Add(newUser); localDb.SaveChanges(); }
public UserSessionState(User user, PayerState payerState) { User = user; PayerState = payerState; }