/// <summary>
        /// Adds the validation.  Tests to make sure that a validation response is only added once.
        /// </summary>
        /// <param name="propertyName">Name of the property.</param>
        /// <param name="code">The code.</param>
        /// <param name="message">The message.</param>
        public void AddValidation(string propertyName, ValidationValue code, string message)
        {
            bool canAdd = true;

            foreach (ValidationObject v in this)
            {
                if (v.PropertyName == propertyName && v.Code == code && v.Message == message)
                {
                    canAdd = false;
                    break;
                }
            }
            if (canAdd)
            {
                this.Add(new ValidationObject(propertyName, ValidationValue.IsError, message));
            }
        }
示例#2
0
 public Task SetAsync(string key, ValidationValue eTag)
 {
     _store[key] = eTag;
     return(Task.FromResult(0));
 }
示例#3
0
 public void LoadValidation(string propertyName, ValidationValue code, string message)
 {
     PropertyName = propertyName;
     Code         = code;
     Message      = message;
 }
示例#4
0
        private void ValidationState(ValidationValue valor, Validation validationsItem)
        {
            if (valor != null && !valor.IsExist)
            {
                validationsItem.Status = false;
            }
            else if (valor != null)
            {
                List <bool> estadoValores = new List <bool>();
                foreach (var value in validationsItem.Values)
                {
                    if (validationsItem.Operation == ValidationOperation.Equals)
                    {
                        if (value.Equals(VALOR_NULO1, StringComparison.InvariantCultureIgnoreCase) || value.Equals(VALOR_NULO2, StringComparison.InvariantCultureIgnoreCase))
                        {
                            if (string.IsNullOrEmpty(valor.Value))
                            {
                                estadoValores.Add(true);
                            }
                        }
                        else if (value.Equals(valor.Value, StringComparison.InvariantCultureIgnoreCase))
                        {
                            estadoValores.Add(true);
                        }
                    }
                    else if (validationsItem.Operation == ValidationOperation.NotEquals)
                    {
                        if (value.Equals(VALOR_NULO1, StringComparison.InvariantCultureIgnoreCase) || value.Equals(VALOR_NULO2, StringComparison.InvariantCultureIgnoreCase))
                        {
                            if (!string.IsNullOrEmpty(valor.Value))
                            {
                                estadoValores.Add(true);
                            }
                        }
                        else if (!value.Equals(valor.Value, StringComparison.InvariantCultureIgnoreCase))
                        {
                            estadoValores.Add(true);
                        }
                    }
                    else if (validationsItem.Operation == ValidationOperation.Major)
                    {
                        double numeric1 = 0;
                        double numeric2 = 0;
                        if (double.TryParse(valor.Value, out numeric1) && double.TryParse(value, out numeric2))
                        {
                            if (numeric1 > numeric2)
                            {
                                estadoValores.Add(true);
                            }
                        }
                    }
                    else if (validationsItem.Operation == ValidationOperation.Minor)
                    {
                        double numeric1 = 0;
                        double numeric2 = 0;
                        if (double.TryParse(valor.Value, out numeric1) && double.TryParse(value, out numeric2))
                        {
                            if (numeric1 < numeric2)
                            {
                                estadoValores.Add(true);
                            }
                        }
                    }
                }

                //rellenar lista
                for (int i = estadoValores.Count; i < validationsItem.Values.Count(); i++)
                {
                    estadoValores.Add(false);
                }

                if (validationsItem.Operation == ValidationOperation.Equals)
                {
                    validationsItem.Status = estadoValores.Any(x => x == true);
                }
                else if (validationsItem.Operation == ValidationOperation.NotEquals)
                {
                    validationsItem.Status = !estadoValores.Any(x => x == false);
                }
                else if (validationsItem.Operation == ValidationOperation.Major)
                {
                    validationsItem.Status = !estadoValores.Any(x => x == false);
                }
                else if (validationsItem.Operation == ValidationOperation.Minor)
                {
                    validationsItem.Status = !estadoValores.Any(x => x == false);
                }
            }
        }
示例#5
0
 public ValidationObject(string propertyName, ValidationValue code, string message)
 {
     LoadValidation(propertyName, code, message);
 }