private static void ValidateFirstName(string firstName)
        {
            var validator = new FirstNameValidator();
            var result    = validator.Validate(firstName);

            if (!result.IsValid)
            {
                throw new IdentityDomainException(nameof(firstName));
            }
        }
示例#2
0
        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);
        }
示例#4
0
        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);
        }