示例#1
0
        public override void DeleteValidation(int validationID)
        {
            ValidationEntity validationEntity = getValidation(validationID);

            _ctx.Validations.Remove(validationEntity);
            _ctx.SaveChanges();
        }
示例#2
0
        public void Create_Get_Update_Validation_Succeeds()
        {
            // Arrange
            ValidationEntity validationEntity = new ValidationEntity
            {
                ActiveFlag         = true,
                ApplicationID      = "Guardian",
                DateCreatedOffset  = DateTimeOffset.UtcNow,
                DateModifiedOffset = DateTimeOffset.UtcNow,
                ErrorCode          = 0,
                ErrorMessage       = "There was a problem",
                Expression         = "1"
            };

            // Act
            _dataProvider.CreateValidation(validationEntity);

            ValidationEntity createdValidationEntity =
                (ValidationEntity)_dataProvider.GetValidation(validationEntity.ValidationID);

            createdValidationEntity.ErrorMessage = "There was another problem";

            _dataProvider.UpdateValidation(createdValidationEntity);

            ValidationEntity updatedValidationEntity =
                (ValidationEntity)_dataProvider.GetValidation(createdValidationEntity.ValidationID);

            // Assert
            updatedValidationEntity.Should().BeEquivalentTo(createdValidationEntity);
        }
示例#3
0
        public override void DeleteValidation(int validationID)
        {
            ValidationEntity validationEntity = getValidation(validationID);

            validationEntity.ActiveFlag = false;
            _ctx.SaveChanges();
        }
示例#4
0
        public List <ValidationEntity> Validate(string trackingNumber)
        {
            List <ValidationEntity> validations = new List <ValidationEntity>();

            FormService         formService   = new FormService();
            List <FormInstance> formInstances = formService.GetAllForms(trackingNumber);


            foreach (FormInstance formInstance in formInstances)
            {
                ValidationEntity validationEntity = new ValidationEntity();
                validationEntity.FriendlyName = formInstance.FriendlyName;

                //Validate
                JObject        fd = JObject.Parse(formInstance.FormData);
                IList <string> messages;
                JSchema        schema = JSchema.Parse(formInstance.ValidationSchema);
                bool           valid  = fd.IsValid(schema, out messages);

                List <string> descriptiveErrorMessages = new List <string>();
                foreach (string message in messages)
                {
                    descriptiveErrorMessages.Add(GetDescriptiveErrorMessage(formInstance.ValidationSchema, message));
                }

                IList <string> errorMessages = descriptiveErrorMessages.ToArray();

                validationEntity.Messages = errorMessages.ToList <string>();

                validations.Add(validationEntity);
            }

            return(validations);
        }
 public void RegisterValidation(ValidationEntity validation)
 {
     _dbContext.Validations.Add(new Validation()
     {
         CardId = BitConverter.ToString(validation.CardId), Location = validation.Location, ValidationTime = validation.Time, EncryptedTicket = validation.EncryptedTicketHash
     });
     _dbContext.SaveChanges();
 }
示例#6
0
        public override IValidation CreateValidation(IValidation validation)
        {
            ValidationEntity validationEntity = _ctx.Validations.Add((ValidationEntity)validation);

            _ctx.SaveChanges();

            return(validationEntity);
        }
示例#7
0
        public override IValidation CreateValidation(IValidation validation)
        {
            ValidationEntity newValidationEntity = new ValidationEntity().MapFromInterface(validation);

            newValidationEntity = _ctx.Validations.Add(newValidationEntity);
            _ctx.SaveChanges();

            return(newValidationEntity);
        }
示例#8
0
 public void MatchesRuleTest_Null()
 {
     try {
         MetadataLocator.Default = MetadataLocator.Create().AddMetadata <ValidationEntity, ValidationEntityMetadata>();
         var entity = new ValidationEntity();
         var v      = CreateValidator <ValidationEntity, int>(x => x.MatchesRulePropery);
         Assert.AreEqual(string.Empty, v.GetErrorText(null, entity));
     } finally {
         MetadataLocator.Default = null;
         ValidationEntityMetadata.IncludeValueToError = false;
         MetadataHelper.ClearMetadata();
     }
 }
示例#9
0
        public override IValidation UpdateValidation(IValidation validation)
        {
            ValidationEntity validationEntity = getValidation(validation.ValidationID);

            validationEntity.ApplicationID      = validation.ApplicationID;
            validationEntity.DateModifiedOffset = DateTimeOffset.UtcNow;
            validationEntity.ErrorCode          = validation.ErrorCode;
            validationEntity.ErrorMessage       = validation.ErrorMessage;
            validationEntity.Expression         = validation.Expression;

            _ctx.SaveChanges();

            return(validationEntity);
        }
示例#10
0
        private void btnSearch_Click(object sender, RoutedEventArgs e)
        {
            ClearValidate();
            ValidationEntity        vRequired = new ValidationEntity(ValidationEnum.IsNotEmpty, null, "值不能为空");
            List <ValidationEntity> tVList    = new List <ValidationEntity>();

            tVList.Add(vRequired);

            if (!queryFilterVM.CancelOutStore && !queryFilterVM.ISSOLog &&
                string.IsNullOrEmpty(queryFilterVM.TicketSysNo))
            {
                ValidationHelper.Validation(txtTicketSysNo, tVList);
                return;
            }
            if (queryFilterVM.CancelOutStore &&
                !queryFilterVM.StartDate.HasValue && !queryFilterVM.EndDate.HasValue)
            {
                Window.Alert("请选择一个时间范围!");
                dpkRang.Focus();
                //ValidationEntity vRang = new ValidationEntity(ValidationEnum.IsInteger, null, "请选择一个时间范围");
                //List<ValidationEntity> tlist = new List<ValidationEntity>();
                //tlist.Add(vRang);
                //ValidationHelper.Validation(dpkRang, tlist);
                return;
            }

            if (!queryFilterVM.CancelOutStore && !queryFilterVM.ISSOLog)
            {
                gridLogQuery = gridLogQuery1;
                panelgridLogQuery1.Visibility = Visibility.Visible;
                panelgridLogQuery2.Visibility = Visibility.Collapsed;
                panelgridLogQuery3.Visibility = Visibility.Collapsed;
            }
            else if (queryFilterVM.CancelOutStore)
            {
                gridLogQuery = gridLogQuery2;
                panelgridLogQuery2.Visibility = Visibility.Visible;
                panelgridLogQuery1.Visibility = Visibility.Collapsed;
                panelgridLogQuery3.Visibility = Visibility.Collapsed;
            }
            else if (queryFilterVM.ISSOLog)
            {
                gridLogQuery = gridLogQuery3;
                panelgridLogQuery3.Visibility = Visibility.Visible;
                panelgridLogQuery1.Visibility = Visibility.Collapsed;
                panelgridLogQuery2.Visibility = Visibility.Collapsed;
            }

            gridLogQuery.Bind();
        }
示例#11
0
        //Validate to send multiple options
        private void btnMain_Click(object sender, System.EventArgs e)
        {
            //When the game is over, restart the game
            if (!cmbPosition.Enabled)
            {
                ResetApp();
            }
            //Check if the initial combination is complete, to proceed to guess
            else if (LineValidationIsComplete(masterCombination) && !masterCombination.IsComplete)
            {
                masterCombination.IsComplete = true;
                gbHistory.Enabled            = true;
                gbCurrentLine.Text           = "Find the Combination";
                btnMain.Text = "Validate";
                cmbPosition.SelectedIndex = 0;
                cmbPosition_SelectedIndexChanged(null, null);
            }
            //Validates if the current combination of the player to guess is complete
            else if (LineValidationIsComplete(currentLine) && !currentLine.IsComplete)
            {
                var masterMind = new MasterMind(masterCombination);
                var result     = masterMind.GetHints(currentLine);

                if (result != null)
                {
                    if (result.Count > 0)
                    {
                        ValidationEntity entity = new ValidationEntity(currentLine, result);
                        entity.IsEqual = (result.Contains(ResultPeg.None) || result.Contains(ResultPeg.White)) ? false : true;
                        resultLines.Add(entity);
                        ShowHistory();
                        currentLine = new MasterEntity();
                        cmbPosition.SelectedIndex = 0;
                        cmbPosition_SelectedIndexChanged(null, null);

                        if (resultLines[resultLines.Count - 1].IsEqual)
                        {
                            showCombination = true;
                            btnShow_Click(null, null);
                            gbColor.Enabled = cmbPosition.Enabled = false;
                            btnMain.Text    = "Reset";
                        }
                    }
                }
            }
        }
示例#12
0
        public void MatchesRuleTest()
        {
            try {
                MetadataLocator.Default = MetadataLocator.Create().AddMetadata <ValidationEntity, ValidationEntityMetadata>();
                var entity = new ValidationEntity();
                var v      = CreateValidator <ValidationEntity, int>(x => x.MatchesRulePropery);
                Assert.AreEqual("Cannot be less than 0: -2", v.GetErrorText(-2, entity));
                Assert.AreEqual("Cannot be greater than 2: 3", v.GetErrorText(3, entity));

                v = CreateValidator <ValidationEntity, int>(x => x.MatchesInstanceRulePropery);
                Assert.AreEqual("Cannot be less than 0: -2", v.GetErrorText(-2, entity));
                Assert.AreEqual("Cannot be greater than 2: 3", v.GetErrorText(3, entity));
            } finally {
                MetadataLocator.Default = null;
                ValidationEntityMetadata.IncludeValueToError = false;
                MetadataHelper.ClearMetadata();
            }
        }
        public void Validation()
        {
            var entity = new ValidationEntity();

            string required  = "The StringProperty1 field is required.";
            string minLength = "The field StringProperty1 must be a string or array type with a minimum length of '2'.";
            string maxLength = "The field StringProperty1 must be a string or array type with a maximum length of '5'.";

            var property1Validator = CreateValidator <ValidationEntity, string>(x => x.StringProperty1);

            Assert.AreEqual(required, property1Validator.GetErrorText(null, entity));
            Assert.AreEqual(minLength, property1Validator.GetErrorText("1", entity));
            Assert.AreEqual(maxLength, property1Validator.GetErrorText("123456", entity));
            Assert.AreEqual(string.Empty, property1Validator.GetErrorText("123", entity));

            var property1Validator_CustomError = CreateValidator <ValidationEntity, string>(x => x.StringProperty1_CustomError);

            ValidationEntity.StringProperty1_CustomErrorText_Required = "{0} property required";
            Assert.AreEqual("StringProperty1_CustomError property required", property1Validator_CustomError.GetErrorText(null, entity));
            ValidationEntity.StringProperty1_CustomErrorText_MinLength = "{0} min";
            Assert.AreEqual("StringProperty1_CustomError min", property1Validator_CustomError.GetErrorText("1", entity));
            ValidationEntity.StringProperty1_CustomErrorText_MaxLength = "{0} max";
            Assert.AreEqual("StringProperty1_CustomError max", property1Validator_CustomError.GetErrorText("123456", entity));


            var property2Validator = CreateValidator <ValidationEntity, string>(x => x.StringProperty2);

            Assert.AreEqual(required.Replace("StringProperty1", "StringProperty2") + " " + minLength.Replace("StringProperty1", "StringProperty2"), property2Validator.GetErrorText(string.Empty, entity));

            var property3Validator = CreateValidator <ValidationEntity, string>(x => x.StringProperty3);

            Assert.AreEqual(string.Empty, property3Validator.GetErrorText(string.Empty, entity));
            Assert.AreEqual(required.Replace("StringProperty1", "StringProperty3"), property3Validator.GetErrorText(null, entity));

            var property3Validator_CustomError = CreateValidator <ValidationEntity, string>(x => x.StringProperty3_CustomError);

            ValidationEntity.StringProperty3_CustomErrorText = "{0} property required and doesn't allow empty strings";
            Assert.AreEqual("StringProperty3_CustomError property required and doesn't allow empty strings", property3Validator_CustomError.GetErrorText(null, entity));

            var phoneValidator = CreateValidator <ValidationEntity, string>(x => x.PhoneProperty);

            Assert.AreEqual("The PhoneProperty field is not a valid phone number.", phoneValidator.GetErrorText("abc", entity));
            phoneValidator = CreateValidator <ValidationEntity, string>(x => x.PhoneProperty_CustomError);
            ValidationEntity.PhoneProperty_CustomErrorText = "{0} phone";
            Assert.AreEqual("PhoneProperty_CustomError phone", phoneValidator.GetErrorText("abc", entity));

            var creditCardValidator = CreateValidator <ValidationEntity, string>(x => x.CreditCardProperty);

            Assert.AreEqual("The CreditCardProperty field is not a valid credit card number.", creditCardValidator.GetErrorText("1234 5678 1234 5678", entity));
            Assert.AreEqual(string.Empty, creditCardValidator.GetErrorText("4012888888881881", entity));
            Assert.AreEqual(string.Empty, creditCardValidator.GetErrorText("4012 8888 8888 1881", entity));
            creditCardValidator = CreateValidator <ValidationEntity, string>(x => x.CreditCardProperty_CustomError);
            ValidationEntity.CreditCardProperty_CustomErrorText = "{0} card";
            Assert.AreEqual("CreditCardProperty_CustomError card", creditCardValidator.GetErrorText("1234 5678 1234 5678", entity));

            var emailAddressPropertyValidator = CreateValidator <ValidationEntity, string>(x => x.EmailAddressProperty);

            Assert.AreEqual("The EmailAddressProperty field is not a valid e-mail address.", emailAddressPropertyValidator.GetErrorText("a@", entity));
            Assert.AreEqual(string.Empty, emailAddressPropertyValidator.GetErrorText("[email protected]", entity));
            emailAddressPropertyValidator = CreateValidator <ValidationEntity, string>(x => x.EmailAddressProperty_CustomError);
            ValidationEntity.EmailAddressProperty_CustomErrorText = "{0} mail";
            Assert.AreEqual("EmailAddressProperty_CustomError mail", emailAddressPropertyValidator.GetErrorText("a@", entity));

            var urlPropertyValidator = CreateValidator <ValidationEntity, string>(x => x.UrlProperty);

            Assert.AreEqual(string.Empty, urlPropertyValidator.GetErrorText("https://www.devexpress.com/", entity));
            Assert.AreEqual("The UrlProperty field is not a valid fully-qualified http, https, or ftp URL.", urlPropertyValidator.GetErrorText("abc", entity));
            urlPropertyValidator = CreateValidator <ValidationEntity, string>(x => x.UrlProperty_CustomError);
            ValidationEntity.UrlProperty_CustomErrorText = "{0} url";
            Assert.AreEqual("UrlProperty_CustomError url", urlPropertyValidator.GetErrorText("abc", entity));

            var doubleRangeValidator = CreateValidator <ValidationEntity, double>(x => x.DoubleRange);

            Assert.AreEqual(string.Empty, doubleRangeValidator.GetErrorText(10d, entity));
            Assert.AreEqual("The field DoubleRange must be between 9 and 13.", doubleRangeValidator.GetErrorText(8d, entity));
            Assert.AreEqual("The field DoubleRange must be between 9 and 13.", doubleRangeValidator.GetErrorText(14d, entity));
            doubleRangeValidator = CreateValidator <ValidationEntity, double?>(x => x.DoubleRange_Nullable);
            Assert.AreEqual(string.Empty, doubleRangeValidator.GetErrorText(10d, entity));
            Assert.AreEqual("The field DoubleRange_Nullable must be between 9 and 13.", doubleRangeValidator.GetErrorText(8d, entity));
            Assert.AreEqual("The field DoubleRange_Nullable must be between 9 and 13.", doubleRangeValidator.GetErrorText(14d, entity));
            Assert.AreEqual(string.Empty, doubleRangeValidator.GetErrorText(null, entity));
            doubleRangeValidator = CreateValidator <ValidationEntity, double>(x => x.DoubleRange_CustomError);
            ValidationEntity.DoubleRange_CustomErrorText = "{0} range {1} {2}";
            Assert.AreEqual("DoubleRange_CustomError range 9 13", doubleRangeValidator.GetErrorText(8d, entity));

            var intRangeValidator = CreateValidator <ValidationEntity, int>(x => x.IntRange);

            Assert.AreEqual(string.Empty, intRangeValidator.GetErrorText(10, entity));
            Assert.AreEqual("The field IntRange must be between 9 and 13.", intRangeValidator.GetErrorText(8, entity));
            Assert.AreEqual("The field IntRange must be between 9 and 13.", intRangeValidator.GetErrorText(14, entity));

            var stringRangeValidator = CreateValidator <ValidationEntity, string>(x => x.StringRange);

            Assert.AreEqual(string.Empty, stringRangeValidator.GetErrorText("Clown", entity));
            Assert.AreEqual(string.Empty, stringRangeValidator.GetErrorText(string.Empty, entity));
            Assert.AreEqual("The field StringRange must be between B and D.", stringRangeValidator.GetErrorText("Apple", entity));
            Assert.AreEqual("The field StringRange must be between B and D.", stringRangeValidator.GetErrorText("Express", entity));

            var stringRegExpValidator = CreateValidator <ValidationEntity, string>(x => x.StringRegExp);

            Assert.AreEqual(string.Empty, stringRegExpValidator.GetErrorText("cl", entity));
            Assert.AreEqual(@"The field StringRegExp must match the regular expression '^[a-z]{1,2}$'.", stringRegExpValidator.GetErrorText("Apple", entity));
            stringRegExpValidator = CreateValidator <ValidationEntity, string>(x => x.StringRegExp_CustomError);
            ValidationEntity.StringRegExp_CustomErrorText = "{0} regexp {1}";
            Assert.AreEqual(@"StringRegExp_CustomError regexp ^[a-z]{1,2}$", stringRegExpValidator.GetErrorText("Apple", entity));

            var intRegExpValidator = CreateValidator <ValidationEntity, int>(x => x.IntRegExp);

            Assert.AreEqual(string.Empty, intRegExpValidator.GetErrorText(1, entity));
            Assert.AreEqual(@"The field IntRegExp must match the regular expression '^[1-2]{1,2}$'.", intRegExpValidator.GetErrorText(3, entity));

            var customStringValidator = CreateValidator <ValidationEntity, string>(x => x.CustomString);

            Assert.AreEqual(string.Empty, customStringValidator.GetErrorText("12", entity));
            Assert.AreEqual("CustomString is not valid.", customStringValidator.GetErrorText("123", entity));
            customStringValidator = CreateValidator <ValidationEntity, string>(x => x.CustomString_CustomError);
            ValidationEntity.CustomString_CustomErrorText = "{0} custom";
            Assert.AreEqual("CustomString_CustomError custom", customStringValidator.GetErrorText("123", entity));

            entity.CustomString_CustomError2 = "123";
            customStringValidator            = CreateValidator <ValidationEntity, string>(x => x.CustomString_CustomError2);
            Assert.AreEqual("CustomString_CustomError2 custom", customStringValidator.GetErrorText(null, entity));

            customStringValidator = CreateValidator <ValidationEntity, string>(x => x.CustomString_CustomError3);
            Assert.AreEqual(string.Empty, customStringValidator.GetErrorText(string.Empty, entity));
            Assert.AreEqual("CustomString_CustomError3 custom", customStringValidator.GetErrorText("123", entity));

            var twoErrorsValidator = CreateValidator <ValidationEntity, string>(x => x.TwoErrorsProperty);

            Assert.AreEqual("The field TwoErrorsProperty must be a string or array type with a minimum length of '10'. The field TwoErrorsProperty must be a string or array type with a maximum length of '1'.", twoErrorsValidator.GetErrorText("123", entity));
            Assert.AreEqual("The field TwoErrorsProperty must be a string or array type with a minimum length of '10'.", twoErrorsValidator.GetErrors("123", entity).ElementAt(0));
            Assert.AreEqual("The field TwoErrorsProperty must be a string or array type with a maximum length of '1'.", twoErrorsValidator.GetErrors("123", entity).ElementAt(1));
            Assert.AreEqual(2, twoErrorsValidator.GetErrors("123", entity).Count());
        }