Example #1
0
        public void should_validate_request()
        {
            var validator = new CreateAccountRequestValidator();

            validator.ShouldHaveValidationErrorFor(x => x.Id, null as Guid?);
            validator.ShouldHaveValidationErrorFor(x => x.Id, Guid.Empty);

            validator.ShouldHaveValidationErrorFor(x => x.Name, null as AccountName);

            var nameValidator = new AccountNameValidator();

            nameValidator.ShouldHaveValidationErrorFor(x => x.Name, null as string);
            nameValidator.ShouldHaveValidationErrorFor(x => x.Name, new string('a', AccountService.AccountName.MaxLength + 10));

            nameValidator.ShouldHaveValidationErrorFor(x => x.Language, null as Language?);
            nameValidator.ShouldHaveValidationErrorFor(x => x.Language, (Language)666);

            var validRequest = new CreateAccountRequest
            {
                Id   = Guid.NewGuid(),
                Name = new AccountName
                {
                    Name     = "Bla",
                    Language = Language.Dutch
                }
            };

            validator.ShouldNotHaveValidationErrorFor(x => x.Id, validRequest);
            validator.ShouldNotHaveValidationErrorFor(x => x.Name, validRequest);
            validator.ShouldNotHaveValidationErrorFor(x => x.Name.Name, validRequest);
            validator.ShouldNotHaveValidationErrorFor(x => x.Name.Language, validRequest);
        }
        public void should_validate_request()
        {
            var validator = new UpdateAccountRequestValidator();

            validator.ShouldHaveValidationErrorFor(x => x.Name, null as AccountName);

            var nameValidator = new AccountNameValidator();

            nameValidator.ShouldHaveValidationErrorFor(x => x.Name, null as string);
            nameValidator.ShouldHaveValidationErrorFor(x => x.Name, new string('a', AccountService.AccountName.MaxLength + 10));

            nameValidator.ShouldHaveValidationErrorFor(x => x.Language, null as Language?);
            nameValidator.ShouldHaveValidationErrorFor(x => x.Language, (Language)666);

            var validRequest = new UpdateAccountRequest
            {
                Name = new AccountName
                {
                    Name     = "Bla",
                    Language = Language.English
                }
            };

            validator.ShouldNotHaveValidationErrorFor(x => x.Name, validRequest);
            validator.ShouldNotHaveValidationErrorFor(x => x.Name.Name, validRequest);
            validator.ShouldNotHaveValidationErrorFor(x => x.Name.Language, validRequest);
        }
        public AccountNameValidationResponse AccountNameValidation(AccountNameValidator accountNameValidator)
        {
            string accountName = accountNameValidator.AccountName;

            var response = new AccountNameValidationResponse();

            var accountRegistrationServiceClient = new AccountRegistrationService.AccountRegistrationServiceClient();

            try
            {
                accountRegistrationServiceClient.Open();

                var validationResponse = accountRegistrationServiceClient.ValidateAccountName(accountName);


                if (validationResponse.isValid)
                {
                    response.valid   = true;
                    response.message = accountName + " is available!";
                }
                else
                {
                    response.valid   = false;
                    response.message = validationResponse.validationMessage;
                }


                //CommonMethods.MethodsClient commonMethodsClient = new CommonMethods.MethodsClient();
                response.subdomain = accountRegistrationServiceClient.ConvertToAccountNameKey(accountName);

                //Close the connection
                WCFManager.CloseConnection(accountRegistrationServiceClient);
            }
            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);
        }
        private static List <CorrectedBalanceSheetStatement> RemoveStatementsWithInvalidAccount(List <BalanceSheetStatement> statements, ILogger logger)
        {
            var mismatchedStatements = statements.Where(x => !AccountNameValidator.IsAccountNameValid(x.Account)).ToList();

            statements.RemoveAll(x => mismatchedStatements.Contains(x));

            var z = mismatchedStatements.Select(x => new CorrectedBalanceSheetStatement(x, "Invalid account name"))
                    .ToList();

            return(z);
        }
        private static List <CorrectedJournalStatement> RemoveStatementsWithInvalidAccount(
            List <JournalStatement> statements)
        {
            var invalidAccountStatement = statements.Where(x =>
            {
                return(!AccountNameValidator.IsAccountNameValid(x.Account));
            }).ToList();

            statements.RemoveAll(x => invalidAccountStatement.Contains(x));
            return(invalidAccountStatement
                   .Select(x => new CorrectedJournalStatement(x, "The account is invalid")).ToList());
        }