コード例 #1
0
        public void IsValidFailAnotherObject()
        {
            int anInt = 0;
            SubscriptionValidator validator = new SubscriptionValidator();
            bool validation = validator.IsValid(anInt);

            Assert.IsFalse(validation);
        }
コード例 #2
0
        public void IsValidFailOld()
        {
            Subscription aPayment = TestSubscription();
            DateTime     aDate    = new DateTime(1995, 1, 5, 4, 5, 6);

            aPayment.Date = aDate;
            SubscriptionValidator validator = new SubscriptionValidator();
            bool validation = validator.IsValid(aPayment);

            Assert.IsFalse(validation);
        }
コード例 #3
0
        public void IsValidSuccess()
        {
            Subscription aPayment = TestSubscription();
            DateTime     aDate    = new DateTime(2018, 1, 5, 4, 5, 6);

            aPayment.Date = aDate;
            SubscriptionValidator validator = new SubscriptionValidator();
            bool validation = validator.IsValid(aPayment);

            Assert.IsTrue(validation);
        }
コード例 #4
0
        private bool CanIAdd(Object anObject)
        {
            SubscriptionValidator validator = new SubscriptionValidator();
            bool domainValidation           = validator.IsValid(anObject);
            bool newSubscription            = !StudentAlreadyPayThisMonth(anObject);
            bool studentUpToDate            = false;

            if (!newSubscription)
            {
                throw new AlreadySubscriptedException("El estudiante ya esta pago esa couta.");
            }
            else
            {
                studentUpToDate = IsStudentUpToDate(anObject);
            }
            return(domainValidation && newSubscription && studentUpToDate);
        }
コード例 #5
0
        public JsonResult Subscription(
            SubscribeViewModel subscribeViewModel,
            SubscriptionValidator subscriptionValidator)
        {
            Throw.IfNull(subscribeViewModel, nameof(subscribeViewModel));
            Throw.IfNull(subscriptionValidator, nameof(subscriptionValidator));

            subscriptionValidator.SetMessageToEmailValidator(subscribeViewModel.EmailValidationMessage);
            var modelState         = subscriptionValidator.Validate(subscribeViewModel);
            var success            = false;
            var validationMessages = modelState.Errors.FirstOrDefault()?.ErrorMessage;

            if (modelState.IsValid)
            {
                success = _mailingService.Subscribe(subscribeViewModel);
            }

            return(Json(new { success, validationMessages }));
        }
コード例 #6
0
        private bool IsStudentUpToDate(Object anObject)
        {
            bool                  validation        = true;
            Subscription          subscription      = anObject as Subscription;
            Subscription          checkSubscription = GetFirstSubscriptionToCheck(subscription);
            SubscriptionValidator validator         = new SubscriptionValidator();

            while (validator.IsDateValid(checkSubscription))
            {
                if (!StudentAlreadyPayThisMonth(checkSubscription))
                {
                    validation = false;
                    String message = "El estudiante debe coutas anteriores, la couta " + checkSubscription.Date.Month + "/" + checkSubscription.Date.Year + " no se ha pagado.";
                    throw new StudentNotUpToDateException(message);
                }
                checkSubscription.Date = checkSubscription.Date.AddMonths(-1);
            }
            return(validation);
        }
コード例 #7
0
        public void Can_Not_Pass_SoftwareValidator_Tests()
        {
            //Arrange
            var model = new Subscription()
            {
                SoftwareId               = 0,
                CustomerId               = 0,
                SubScriptionStartDate    = DateTime.Now,
                SubScriptionEndDate      = DateTime.Now,
                SubScriptionLicenceCount = 0,
            };

            //Action
            var result = new SubscriptionValidator().Validate(model);

            //Assert
            OutputHelpers.WriteLineError(result, outputHelper);
            Assert.False(result.IsValid);
        }
コード例 #8
0
        public static List <BaseParam> GetBlockSettingsInfo(string BlockType)
        {
            switch (BlockType)
            {
            case "ConditionBlock":
                return(ConditionBlockValidator.GetBlockSettingsInfo(BlockType));

            case "SendSMSBlock":
                return(SendSMSValidator.GetBlockSettingsInfo(BlockType));

            case "SubscribtionConfirmBlock":
                return(SubscribtionConfirmValidator.GetBlockSettingsInfo(BlockType));

            case "SubscribtionBlock":
                return(SubscriptionValidator.GetBlockSettingsInfo(BlockType));

            default:
                return(new List <BaseParam>());
            }
        }
コード例 #9
0
        public async Task <JsonResult> AddSubscriptions([FromBody] AddSubscriptionsDTO addSubscriptionsDto)
        {
            try
            {
                var results = new List <Result>();
                var result  =
                    await _notificationEndpointService.AddNotificationEndpoint(
                        new NotificationEndpoint(addSubscriptionsDto.NotificationEndpointIdentifier));

                if (result.IsSuccess)
                {
                    // we do not use the automatic integration of fluentValidation into ASP.NET Core (validating objects that are passed in to controller actions), as we want to add ALL valid releases and not stop and throw if one is invalid)
                    var subscriptionValidator = new SubscriptionValidator(_trackedMediaSettings);
                    foreach (var addSubscription in addSubscriptionsDto.Subscriptions)
                    {
                        var validationResult = await subscriptionValidator.ValidateAsync(addSubscription);

                        if (validationResult.IsValid)
                        {
                            results.Add(await _subscriptionService.AddSubscription(new Subscription(addSubscription,
                                                                                                    addSubscriptionsDto.NotificationEndpointIdentifier)));
                        }
                        else
                        {
                            results.Add(Result.Failure(validationResult.GetMessage()));
                        }
                    }
                }
                else
                {
                    results.Add(result);
                }

                return(new JsonResult(results.Select(r => r.AsSerializableResult())));
            }
            catch (Exception e)
            {
                _logger.LogError("Something went wrong. {exceptionMessage}", e.Message);
                return(new JsonResult(Result.Failure("Adding the subscriptions failed.").AsSerializableResult()));
            }
        }
コード例 #10
0
 protected async Task ValidateSubscriptionAndThrowAsync(Subscription subscription)
 {
     var validator = new SubscriptionValidator();
     await validator.ValidateAndThrowAsync(subscription);
 }