Esempio n. 1
0
        protected override void ValidateFields(List <IFieldValidationResult> validationResults)
        {
            if (ProductRepository == null)
            {
                return;
            }

            if (ProductRepository.Product != null)
            {
                if (ProductRepository.Product.Name == null)
                {
                    validationResults.Add(FieldValidationResult.CreateError("ProductRepository.Product", "Требуется выбрать продукт!"));
                }

                if (ProductRepository.ProductCount < 1)
                {
                    validationResults.Add(FieldValidationResult.CreateError("ProductRepository.ProductCount", "Количество товара не может быть меньше 1!"));
                }

                if (ProductRepository.Product.Id != 0)
                {
                    if (Products.Single((p) => p.Id == ProductRepository.Product.Id).Count < ProductRepository.ProductCount)
                    {
                        validationResults.Add(FieldValidationResult.CreateError("ProductRepository.ProductCount", "У нас нет такого количества товара!"));
                    }
                }
            }
            else
            {
                validationResults.Add(FieldValidationResult.CreateError("ProductRepository.Product", "Требуется выбрать продукт!"));
            }
        }
Esempio n. 2
0
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (string.IsNullOrEmpty(Title))
     {
         validationResults.Add(FieldValidationResult.CreateError(TitleProperty, "Неверный формат ввода услуги!"));
     }
 }
Esempio n. 3
0
        public override FieldValidationResult ValidateData(object value, Field field)
        {
            var stringValue = (string)value;

            //-- compulsory
            if (String.IsNullOrEmpty(stringValue) && (this.Compulsory ?? false))
            {
                return(new FieldValidationResult(CompulsoryName));
            }

            stringValue = stringValue ?? "";

            //-- minLength
            int minLength = this.MinLength.HasValue ? this.MinLength.Value : 0;

            if (stringValue.Length < minLength)
            {
                var result = new FieldValidationResult(MinLengthName);
                result.AddParameter(MinLengthName, minLength);
                return(result);
            }
            //-- maxLength
            int maxLength = this.MaxLength.HasValue ? this.MaxLength.Value : Int32.MaxValue;

            if (stringValue.Length > maxLength)
            {
                var result = new FieldValidationResult(MaxLengthName);
                result.AddParameter(MaxLengthName, maxLength);
                return(result);
            }

            return(FieldValidationResult.Successful);
        }
Esempio n. 4
0
            public void ReturnsChangesForAddedFieldWarning()
            {
                var fieldValidationResults1 = new List <IFieldValidationResult>();

                fieldValidationResults1.Add(FieldValidationResult.CreateError("MyProperty", "FieldError"));

                var businessRuleValidationResults1 = new List <IBusinessRuleValidationResult>();

                businessRuleValidationResults1.Add(BusinessRuleValidationResult.CreateWarning("BusinessRuleWarning"));
                businessRuleValidationResults1.Add(BusinessRuleValidationResult.CreateError("BusinessRuleError"));
                var context1 = new ValidationContext(fieldValidationResults1, businessRuleValidationResults1);

                var fieldValidationResults2 = new List <IFieldValidationResult>();

                fieldValidationResults2.Add(FieldValidationResult.CreateWarning("MyProperty", "FieldWarning"));
                fieldValidationResults2.Add(FieldValidationResult.CreateError("MyProperty", "FieldError"));

                var businessRuleValidationResults2 = new List <IBusinessRuleValidationResult>();

                businessRuleValidationResults2.Add(BusinessRuleValidationResult.CreateWarning("BusinessRuleWarning"));
                businessRuleValidationResults2.Add(BusinessRuleValidationResult.CreateError("BusinessRuleError"));
                var context2 = new ValidationContext(fieldValidationResults2, businessRuleValidationResults2);

                var changes = ValidationContextHelper.GetChanges(context1, context2);

                Assert.AreEqual(1, changes.Count);
                Assert.AreEqual("MyProperty", ((IFieldValidationResult)changes[0].ValidationResult).PropertyName);
                Assert.AreEqual("FieldWarning", changes[0].ValidationResult.Message);
                Assert.AreEqual(ValidationResultType.Warning, changes[0].ValidationResult.ValidationResultType);
                Assert.AreEqual(ValidationContextChangeType.Added, changes[0].ChangeType);
            }
Esempio n. 5
0
        private async Task OnEditSnapshotExecuteAsync(ISnapshot snapshot)
        {
            var modelValidation = snapshot as IValidatable;

            void OnSnapshotValidating(object sender, ValidationEventArgs e)
            {
                if (_snapshotManager.Snapshots.Any(x => x.Title.EqualsIgnoreCase(snapshot.Title) && x != snapshot))
                {
                    e.ValidationContext.Add(FieldValidationResult.CreateError("Title", _languageService.GetString("Snapshots_SnapshotWithCurrentTitleAlreadyExists")));
                }
            }

            if (modelValidation is not null)
            {
                modelValidation.Validating += OnSnapshotValidating;
            }

            if (await _uiVisualizerService.ShowDialogAsync <SnapshotViewModel>(snapshot) ?? false)
            {
                if (modelValidation is not null)
                {
                    modelValidation.Validating -= OnSnapshotValidating;
                }

                await _snapshotManager.SaveAsync();
            }
        }
Esempio n. 6
0
        private FieldValidationResult ValidatePaths(List <Node> list, Field field)
        {
            //-- Paths
            if (this.SelectionRoots.Count > 0)
            {
                //-- Convert relative paths to absolute
                var paths = new List <string>();                //-- test equality
                var roots = new List <string>();                //-- ends with PathSeparator
                foreach (string item in this.SelectionRoots)
                {
                    var handler     = field.Content.ContentHandler;
                    var handlerPath = RepositoryPath.Combine(RepositoryPath.GetParentPath(handler.Path), handler.Name);
                    var path        = "/";
                    if (item.StartsWith("/"))
                    {
                        path = item;
                    }
                    else if (item == ".")
                    {
                        path = handlerPath;
                    }
                    else
                    {
                        path = RepositoryPath.Combine(handlerPath, item);
                    }

                    if (path.EndsWith(RepositoryPath.PathSeparator))
                    {
                        paths.Add(path.Substring(0, path.Length - 1));
                        roots.Add(path);
                    }
                    else
                    {
                        paths.Add(path);
                        roots.Add(String.Concat(path, RepositoryPath.PathSeparator));
                    }
                }
                foreach (Node node in list)
                {
                    var ok = false;
                    for (int i = 0; i < paths.Count; i++)
                    {
                        if (node.Path == paths[i] || node.Path.StartsWith(roots[i]))
                        {
                            ok = true;
                            break;
                        }
                    }
                    if (ok)
                    {
                        continue;
                    }

                    var result = new FieldValidationResult(SelectionRootName);
                    result.AddParameter(SelectionRootName, node.Path);
                    return(result);
                }
            }
            return(FieldValidationResult.Successful);
        }
Esempio n. 7
0
        public void Validate_WhenFieldProviderDoesNotExistWithLaCode_ShouldReturnCorrectValidationResult()
        {
            // Arrange
            IList <ProviderSummary> providerSummaries = CreateProviderSummaries().Values.ToList();
            var providerExistsValidator = new ProviderExistsValidator(providerSummaries);

            FieldDefinition definition = new FieldDefinition
            {
                Name                = "LACode",
                Description         = "The LaCode identifier for the provider",
                Id                  = "12345",
                IdentifierFieldType = IdentifierFieldType.LACode,
                MatchExpression     = null,
                Maximum             = null,
                Minimum             = null,
                Required            = false,
                Type                = FieldType.String
            };


            Field field = new Field(new DatasetUploadCellReference(0, 2), "12345888", definition);

            // Act
            FieldValidationResult result = providerExistsValidator.ValidateField(field);

            // Assert
            result.FieldValidated
            .Should().Be(field);

            result.ReasonOfFailure
            .Should().Be(FieldValidationResult.ReasonForFailure.ProviderIdMismatchWithServiceProvider);
        }
Esempio n. 8
0
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (string.IsNullOrWhiteSpace(Name))
     {
         validationResults.Add(FieldValidationResult.CreateError(nameof(Name), "Name of room is required"));
     }
 }
Esempio n. 9
0
 /// <summary>
 /// Validates the field values of this object. Override this method to enable
 /// validation of field values.
 /// </summary>
 /// <param name="validationResults">The validation results, add additional results to this list.</param>
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (string.IsNullOrEmpty(Name))
     {
         validationResults.Add(FieldValidationResult.CreateError(NameProperty, "Name is required"));
     }
 }
        public void ValidateField_WhenFieldValueDoesConformToExpectedType_ShouldReturnNull()
        {
            // Arrange
            DatatypeMismatchFieldValidator validatorUnderTest = new DatatypeMismatchFieldValidator();
            FieldDefinition fieldDefinition = new FieldDefinition()
            {
                Description         = "The name of the provider",
                Id                  = "1100004",
                IdentifierFieldType = null,
                MatchExpression     = null,
                Maximum             = null,
                Minimum             = null,
                Name                = "Provider Name",
                Required            = false,
                Type                = FieldType.String
            };

            const int anyRow    = 1;
            const int anyColumn = 1;

            // Act
            FieldValidationResult result =
                validatorUnderTest
                .ValidateField(new Field(new DatasetUploadCellReference(anyRow, anyColumn), "Correct value type", fieldDefinition));

            // Assert
            result
            .Should().BeNull();
        }
Esempio n. 11
0
        protected override void ValidateFields(ClassWithValidator instance, List <IFieldValidationResult> validationResults)
        {
            ValidateFieldsCount++;

            validationResults.Add(FieldValidationResult.CreateWarning(ClassWithValidator.WarningPropertyProperty, "Warning"));
            validationResults.Add(FieldValidationResult.CreateError(ClassWithValidator.ErrorPropertyProperty, "Error"));
        }
Esempio n. 12
0
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (string.IsNullOrWhiteSpace(FamilyName))
     {
         validationResults.Add(FieldValidationResult.CreateError(FamilyNameProperty, "The family name is required"));
     }
 }
Esempio n. 13
0
 /// <summary>
 /// Validates the field values of this object. Override this method to enable
 /// validation of field values.
 /// </summary>
 /// <param name="validationResults">The validation results, add additional results to this list.</param>
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (Shop == null)
     {
         validationResults.Add(FieldValidationResult.CreateError(ShopProperty, "Shop is required"));
     }
 }
 protected override void OnValidating(IValidationContext validationContext)
 {
     if (string.IsNullOrWhiteSpace(Name))
     {
         validationContext.Add(FieldValidationResult.CreateError(nameof(Name), "'Name' for the LogFilterGroup is required"));
     }
 }
Esempio n. 15
0
        public void ValidateField_WhenGivenFieldIsLessThanMinimum_ShouldReturnCorrectResult()
        {
            // Arrange
            DatasetUploadCellReference anyCellReference = new DatasetUploadCellReference(1, 1);

            MaxAndMinFieldValidator maxAndMinFieldValidator = new MaxAndMinFieldValidator();

            FieldDefinition fieldDefinition = new FieldDefinition
            {
                Description         = "Count of high needs students aged 16-19 from the ILR R04 collection",
                Id                  = "1100013",
                IdentifierFieldType = null,
                MatchExpression     = null,
                Maximum             = 10000,
                Minimum             = 9000,
                Name                = "Number of students",
                Required            = false,
                Type                = FieldType.Integer
            };

            Field field = new Field(anyCellReference, 8999, fieldDefinition);

            // Act
            FieldValidationResult result = maxAndMinFieldValidator.ValidateField(field);

            // Assert
            result.FieldValidated.CellReference.Should().Be(anyCellReference);
            result.ReasonOfFailure.Should().Be(FieldValidationResult.ReasonForFailure.MaxOrMinValueExceeded);
        }
        public void ValidateField_GivenProviderIdentifierIsNotBlank_ShouldReturnCorrectResult()
        {
            // Arrange
            ProviderIdentifierBlankValidator validatorUnderTest = new ProviderIdentifierBlankValidator();
            DatasetUploadCellReference       anyCellReference   = new DatasetUploadCellReference(0, 2);

            FieldDefinition definition = new FieldDefinition
            {
                Name                = "UPIN",
                Description         = "The UPIN identifier for the provider",
                Id                  = "1100003",
                IdentifierFieldType = IdentifierFieldType.UPIN,
                MatchExpression     = null,
                Maximum             = null,
                Minimum             = null,
                Required            = false,
                Type                = FieldType.String
            };

            Field field = new Field(anyCellReference, "107013", definition);

            // Act
            FieldValidationResult result = validatorUnderTest.ValidateField(field);

            // Assert
            result.Should().BeNull();
        }
Esempio n. 17
0
        private List <Node> GetNodeList(object value, out FieldValidationResult result)
        {
            result = FieldValidationResult.Successful;
            var list = new List <Node>();

            var node = value as Node;

            if (node != null)
            {
                list.Add(node);
                return(list);
            }
            var enumerableNodes = value as IEnumerable <Node>;

            if (enumerableNodes != null)
            {
                return(enumerableNodes.ToList());
            }
            var enumerable = value as IEnumerable;

            if (enumerable != null)
            {
                foreach (Node item in enumerable)
                {
                    if (item != null)
                    {
                        list.Add(item);
                    }
                }
                return(list);
            }

            result = new FieldValidationResult("ReferenceValue");
            return(list);
        }
        public void ValidateField_GivenProviderIdentifierIsBlank_ShouldReturnCorrectResult()
        {
            // Arrange
            ProviderIdentifierBlankValidator validatorUnderTest = new ProviderIdentifierBlankValidator();

            FieldDefinition definition = new FieldDefinition
            {
                Name                = "UPIN",
                Description         = "The UPIN identifier for the provider",
                Id                  = "1100003",
                IdentifierFieldType = IdentifierFieldType.UPIN,
                MatchExpression     = null,
                Maximum             = null,
                Minimum             = null,
                Required            = false,
                Type                = FieldType.String
            };

            Field field = new Field(AnyCellReference, string.Empty, definition);

            // Act
            FieldValidationResult result = validatorUnderTest.ValidateField(field);

            // Assert
            result.Should().NotBeNull();
            result.ReasonOfFailure
            .Should().Be(FieldValidationResult.ReasonForFailure.ProviderIdValueMissing);
        }
Esempio n. 19
0
        public void Validate_WhenFieldProviderExists_ShouldReturnCorrectValidationResult()
        {
            // Arrange
            IList <ProviderSummary> providerSummaries = CreateProviderSummaries().Values.ToList();
            var providerExistsValidator = new ProviderExistsValidator(providerSummaries);

            FieldDefinition definition = new FieldDefinition
            {
                Name                = "UPIN",
                Description         = "The UPIN identifier for the provider",
                Id                  = "1100003",
                IdentifierFieldType = IdentifierFieldType.UPIN,
                MatchExpression     = null,
                Maximum             = null,
                Minimum             = null,
                Required            = false,
                Type                = FieldType.String
            };


            Field field = new Field(new DatasetUploadCellReference(0, 2), "107013", definition);

            // Act
            FieldValidationResult result = providerExistsValidator.ValidateField(field);

            // Assert
            result.Should().BeNull();
        }
        public void ValidateField_GivenAFieldThatIsNotAProviderIdentifier_ShouldIgnoreAndReturnCorrectResult()
        {
            // Arrange
            const string someOtherField = "some other field";
            ProviderIdentifierBlankValidator validatorUnderTest = new ProviderIdentifierBlankValidator();

            FieldDefinition fieldDefinitionForSomeOtherField = new FieldDefinition
            {
                Description         = "Some other field",
                Id                  = "1100003",
                IdentifierFieldType = null,
                MatchExpression     = null,
                Maximum             = null,
                Minimum             = null,
                Name                = someOtherField,
                Required            = false,
                Type                = FieldType.String
            };

            Field field = new Field(AnyCellReference, string.Empty, fieldDefinitionForSomeOtherField);

            // Act
            FieldValidationResult result = validatorUnderTest.ValidateField(field);

            // Assert
            result.Should().BeNull();
        }
Esempio n. 21
0
            public void ReturnsEmptyCollectionForEqualValidationContexts()
            {
                var fieldValidationResults1 = new List <IFieldValidationResult>();

                fieldValidationResults1.Add(FieldValidationResult.CreateWarning("MyProperty", "FieldWarning"));
                fieldValidationResults1.Add(FieldValidationResult.CreateError("MyProperty", "FieldError"));

                var businessRuleValidationResults1 = new List <IBusinessRuleValidationResult>();

                businessRuleValidationResults1.Add(BusinessRuleValidationResult.CreateWarning("BusinessRuleWarning"));
                businessRuleValidationResults1.Add(BusinessRuleValidationResult.CreateError("BusinessRuleError"));
                var context1 = new ValidationContext(fieldValidationResults1, businessRuleValidationResults1);

                var fieldValidationResults2 = new List <IFieldValidationResult>();

                fieldValidationResults2.Add(FieldValidationResult.CreateWarning("MyProperty", "FieldWarning"));
                fieldValidationResults2.Add(FieldValidationResult.CreateError("MyProperty", "FieldError"));

                var businessRuleValidationResults2 = new List <IBusinessRuleValidationResult>();

                businessRuleValidationResults2.Add(BusinessRuleValidationResult.CreateWarning("BusinessRuleWarning"));
                businessRuleValidationResults2.Add(BusinessRuleValidationResult.CreateError("BusinessRuleError"));
                var context2 = new ValidationContext(fieldValidationResults2, businessRuleValidationResults2);

                var changes = ValidationContextHelper.GetChanges(context1, context2);

                Assert.AreEqual(0, changes.Count);
            }
Esempio n. 22
0
        public override FieldValidationResult ValidateData(object value, Field field)
        {
            if ((value == null) && (this.Compulsory ?? false))
            {
                return(new FieldValidationResult(CompulsoryName));
            }

            if (value != null)
            {
                var decimalValue = Convert.ToDecimal(value);

                if (this.MinValue != null)
                {
                    if (decimalValue < (decimal)this.MinValue)
                    {
                        var result = new FieldValidationResult(MinValueName);
                        result.AddParameter(MinValueName, this.MinValue);
                        return(result);
                    }
                }
                if (this.MaxValue != null)
                {
                    if (decimalValue > (decimal)this.MaxValue)
                    {
                        var result = new FieldValidationResult(MaxValueName);
                        result.AddParameter(MaxValueName, this.MaxValue);
                        return(result);
                    }
                }
            }

            return(FieldValidationResult.Successful);
        }
Esempio n. 23
0
 /// <summary>
 /// Validates the field values of this object. Override this method to enable
 /// validation of field values.
 /// </summary>
 /// <param name="validationResults">The validation results, add additional results to this list.</param>
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (string.IsNullOrWhiteSpace(ApiKey))
     {
         validationResults.Add(FieldValidationResult.CreateError(ApiKeyProperty, "Api key is required"));
     }
 }
Esempio n. 24
0
        protected override void ValidateFields(List <IFieldValidationResult> validationResults)
        {
            if (IsRedirect && RedirectType == null)
            {
                validationResults.Add(FieldValidationResult.CreateError(nameof(RedirectType),
                                                                        "You need to specify a type to redirect to"));
            }

            if (IsIgnored && IsRedirect)
            {
                validationResults.Add(FieldValidationResult.CreateError(nameof(RedirectType),
                                                                        "You cannot ignore and redirect a type at the same time"));
            }

            if (_typesService.HasType(Type))
            {
                validationResults.Add(FieldValidationResult.CreateError(nameof(TypeName),
                                                                        "Another type with the same name already exists"));

                validationResults.Add(FieldValidationResult.CreateError(nameof(SubTypeName),
                                                                        "Another type with the same name already exists"));
            }

            base.ValidateFields(validationResults);
        }
Esempio n. 25
0
        public override FieldValidationResult ValidateData(object value, Field field)
        {
            if ((value == null) && (this.Compulsory ?? false))
            {
                return(new FieldValidationResult(CompulsoryName));
            }

            if (value != null)
            {
                if (_slotMinValue == 0)
                {
                    this.Initialize();
                }

                var intValue = (int)value;
                var min      = this.MinValue ?? _slotMinValue;
                var max      = this.MaxValue ?? _slotMaxValue;

                if (intValue < min)
                {
                    var result = new FieldValidationResult(MinValueName);
                    result.AddParameter(MinValueName, min);
                    return(result);
                }

                if (intValue > max)
                {
                    var result = new FieldValidationResult(MaxValueName);
                    result.AddParameter(MaxValueName, max);
                    return(result);
                }
            }
            return(FieldValidationResult.Successful);
        }
Esempio n. 26
0
        protected override void ValidateFields(List <IFieldValidationResult> validationResults)
        {
            if (SelectedAddress == null)
            {
                validationResults.Add(FieldValidationResult.CreateError(SelectedAddressProperty, "Не указан адрес!"));
            }

            if (SelectedService == null)
            {
                validationResults.Add(FieldValidationResult.CreateError(SelectedServiceProperty, "Не указана услуга!"));
            }

            if (SelectedRate == null)
            {
                validationResults.Add(FieldValidationResult.CreateError(SelectedRateProperty, "Не указан тариф!"));
            }

            int output1;

            if (!Int32.TryParse(PrevIndication, out output1))
            {
                validationResults.Add(FieldValidationResult.CreateError(PrevIndicationProperty, "Неверный формат ввода пред. показания!"));
            }

            int output2;

            if (!Int32.TryParse(CurIndication, out output2))
            {
                validationResults.Add(FieldValidationResult.CreateError(CurIndicationProperty, "Неверный формат ввода текущ. показания!"));
            }
        }
Esempio n. 27
0
 /// <summary>
 /// Validates the field values of this object. Override this method to enable
 /// validation of field values.
 /// </summary>
 /// <param name="validationResults">The validation results, add additional results to this list.</param>
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (!string.IsNullOrEmpty(CustomError))
     {
         validationResults.Add(FieldValidationResult.CreateError(CustomErrorProperty, CustomError));
     }
 }
Esempio n. 28
0
        public void ValidateField_WhenGivenDecimalFieldIsMin_ShouldReturnCorrectResult()
        {
            // Arrange
            DatasetUploadCellReference anyCellReference = new DatasetUploadCellReference(1, 1);

            MaxAndMinFieldValidator maxAndMinFieldValidator = new MaxAndMinFieldValidator();

            FieldDefinition fieldDefinition = new FieldDefinition
            {
                Description         = "Count of high needs students aged 16-19 from the ILR R04 collection",
                Id                  = "1100013",
                IdentifierFieldType = null,
                MatchExpression     = null,
                Maximum             = 10000,
                Minimum             = 9000,
                Name                = "Number of students",
                Required            = false,
                Type                = FieldType.Integer
            };

            Field field = new Field(anyCellReference, 10000m, fieldDefinition);

            // Act
            FieldValidationResult result = maxAndMinFieldValidator.ValidateField(field);

            // Assert
            result.Should().BeNull();
        }
Esempio n. 29
0
 protected override void ValidateFields(PropertyExpression instance, List <IFieldValidationResult> validationResults)
 {
     if (instance.Property is null)
     {
         validationResults.Add(FieldValidationResult.CreateError("Property", "Property can not be null"));
     }
 }
 protected override void ValidateFields(List <IFieldValidationResult> validationResults)
 {
     if (string.IsNullOrWhiteSpace(FamilyName))
     {
         validationResults.Add(FieldValidationResult.CreateError(FamilyNameProperty, "Фамилия обязательна"));
     }
 }