private static void ValidateFirstName(string firstName) { var validator = new FirstNameValidator(); var result = validator.Validate(firstName); if (!result.IsValid) { throw new IdentityDomainException(nameof(firstName)); } }
static void Main(string[] args) { //Define successors var firstNameValidator = new FirstNameValidator(); var lastNameValidator = new LastNameValidator(); var ageValidator = new AgeValidator(); //Init successors in sequence firstNameValidator.SetSuccessor(lastNameValidator); lastNameValidator.SetSuccessor(ageValidator); var account = new Account() { Age = 20, BankCreditRequestEnum = ChainOfRespobility.Data.Enums.BankCreditRequestEnum.Financial, FirstName = "Linus", LastName = "Torvalds" }; try { firstNameValidator.ValidateBankCreditRequest(account); } catch (Exception ex) { Console.WriteLine($"{account.FirstName} {account.LastName} credit request has been denied\n" + $"Reason : {ex.Message}\n\n"); } var account2 = new Account() { Age = 30, BankCreditRequestEnum = ChainOfRespobility.Data.Enums.BankCreditRequestEnum.IndividualLoan, FirstName = "Steve", LastName = "Jobs" }; firstNameValidator.ValidateBankCreditRequest(account2); Console.WriteLine("-------------"); Console.WriteLine("Approved Account Info\n"); Console.WriteLine($"Id : {account2.Id}\n"); Console.WriteLine($"First Name : {account2.FirstName}\n"); Console.WriteLine($"Last Name : {account2.LastName}\n"); Console.WriteLine($"Age : {account2.Age}\n"); Console.WriteLine($"Approved Date : {account2.CreatedAt.ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture)}\n"); Console.WriteLine("-------------"); }
public ValidationResponse PostFirstNameValidation(FirstNameValidator nameValidator) { var response = new ValidationResponse(); var accountRegistrationServiceClient = new AccountRegistrationService.AccountRegistrationServiceClient(); try { accountRegistrationServiceClient.Open(); var validationResponse = accountRegistrationServiceClient.ValidateFirstName(nameValidator.FirstName); //Close the connection WCFManager.CloseConnection(accountRegistrationServiceClient); response.valid = validationResponse.isValid; response.message = validationResponse.validationMessage; } catch (Exception e) { #region Manage Exception string exceptionMessage = e.Message.ToString(); var currentMethod = System.Reflection.MethodBase.GetCurrentMethod(); string currentMethodString = currentMethod.DeclaringType.FullName + "." + currentMethod.Name; // Abort the connection & manage the exception WCFManager.CloseConnection(accountRegistrationServiceClient, exceptionMessage, currentMethodString); // Upate the response object response.valid = false; response.message = WCFManager.UserFriendlyExceptionMessage; #endregion } return(response); }
public static ICustomValidator GetValidatorFor(string validatorName) { if (string.IsNullOrEmpty(validatorName)) { return(null); } ICustomValidator validator; switch (validatorName.ToLower()) { case "firstname": validator = new FirstNameValidator(); break; default: validator = null; break; } return(validator); }