コード例 #1
0
ファイル: Validator.cs プロジェクト: ronaldojf/camara
        public Validator Uniqueness <T>() where T : new()
        {
            T obj = new T();

            object[] whereParameters = new object[2]
            {
                this.PropertyName + " = {0}",
                new object[] { this.Property }
            };

            var result = obj.GetType().GetMethod("Where")
                         .Invoke(obj, whereParameters)
                         .GetType().GetMethod("Exists")
                         .Invoke(obj, null);

            if (Convert.ToBoolean(result))
            {
                string message = "";

                if (this.PropertyGender == Genders.Male)
                {
                    message = MessagesMale.Uniqueness(this.PropertyName);
                }
                else
                {
                    message = MessagesFemale.Uniqueness(this.PropertyName);
                }

                this.IsValid = false;
                this.Errors.Rows.Add(new object[] { this.PropertyName, message });
            }

            return(this);
        }
コード例 #2
0
ファイル: Validator.cs プロジェクト: ronaldojf/camara
        /// <summary>
        /// Valida se a propriedade é uma data menor ou igual que uma data especificada
        /// </summary>
        /// <param name="datetime">Data/Hora no qual a propriedade não pode ser maior</param>
        /// <returns>Retorna um objeto Validator com a validação executada</returns>
        public Validator LessOrEqualsThan(DateTime datetime)
        {
            if (Convert.ToDateTime(this.Property) < datetime)
            {
                this.IsValid = false;
                this.Errors.Rows.Add(new object[] { this.PropertyName, MessagesMale.LessOrEqualsThan(datetime) });
            }

            return(this);
        }
コード例 #3
0
ファイル: Validator.cs プロジェクト: ronaldojf/camara
        /// <summary>
        /// Valida se a propriedade está dentro de uma data/hora mínima e máxima especificada
        /// </summary>
        /// <param name="minDateTime">Data/Hora mínima no qual a propriedade não pode ser menor</param>
        /// <param name="maxDateTime">Data/Hora máxima no qual a propriedade não pode ser maior</param>
        /// <returns>Retorna um objeto Validator com a validação executada</returns>
        public Validator Between(DateTime minDateTime, DateTime maxDateTime)
        {
            DateTime property = Convert.ToDateTime(this.Property);

            if (property < minDateTime || property > maxDateTime)
            {
                this.IsValid = false;
                this.Errors.Rows.Add(new object[] { this.PropertyName, MessagesMale.Between(minDateTime, maxDateTime) });
            }

            return(this);
        }
コード例 #4
0
ファイル: Validator.cs プロジェクト: ronaldojf/camara
        /// <summary>
        /// Valida se a propriedade(Int32, Double, String) é menor ou igual que um número especificado
        /// </summary>
        /// <param name="number">Número de tamanho/quantidade máximo que a propriedade pode ter</param>
        /// <returns>Retorna um objeto Validator com a validação executada</returns>
        public Validator LessOrEqualsThan(double number)
        {
            if (((this.PropertyType == Types.Double || this.PropertyType == Types.Int32) &&
                 Convert.ToDouble(this.Property) > number) ||
                (this.PropertyType == Types.String && this.Property.ToString().Length > number))
            {
                this.IsValid = false;
                this.Errors.Rows.Add(new object[] { this.PropertyName, MessagesMale.LessOrEqualsThan(number, this.PropertyType) });
            }

            return(this);
        }
コード例 #5
0
ファイル: Validator.cs プロジェクト: ronaldojf/camara
        /// <summary>
        /// Valida se a propriedade(Int32, Double, String) está dentro de número mínimo e máximo especificado
        /// </summary>
        /// <param name="minNumber">Número mínimo no qual a propriedade não pode ter tamanho/quantidade menor</param>
        /// <param name="maxNumber">Número máximo no qual a propriedade não pode ter tamanho/quantidade maior</param>
        /// <returns>Retorna um objeto Validator com a validação executada</returns>
        public Validator Between(double minNumber, double maxNumber)
        {
            if (((this.PropertyType == Types.Double || this.PropertyType == Types.Int32) &&
                 (!(Convert.ToDouble(this.Property) >= minNumber && Convert.ToDouble(this.Property) <= maxNumber))) ||
                ((this.PropertyType == Types.String) &&
                 (!(this.Property.ToString().Length >= minNumber && this.Property.ToString().Length <= maxNumber))))
            {
                this.IsValid = false;
                this.Errors.Rows.Add(new object[] { this.PropertyName, MessagesMale.Between(minNumber, maxNumber, this.PropertyType) });
            }

            return(this);
        }