Example #1
0
File: Equals.cs Project: t1b1c/lwas
        public override IResult Evaluate()
        {
            IResult result      = base.Evaluate();
            bool    equals      = true;
            object  comparison  = null;
            bool    initialized = false;

            foreach (IToken operand in this.Operands)
            {
                if (!initialized)
                {
                    comparison  = operand.Value;
                    initialized = true;
                }
                else
                {
                    equals = (comparison == null && operand.Value == null);
                    equals = ((equals || null != operand.Value) && comparison != null && comparison.ToString() == operand.Value.ToString());
                }
                if (!equals)
                {
                    break;
                }
            }
            this.Value = (result.IsSuccessful() && equals);
            if (!(bool)this.Value)
            {
                result.Status = ResultStatus.Unsuccessful;
            }
            return(result);
        }
Example #2
0
        public IResult Validate(object target, string member)
        {
            if (0 == _handlers.Count)
            {
                throw new InvalidOperationException(String.Format("No handlers to validate the member '{0}'", member));
            }
            object  value  = ReflectionServices.ExtractValue(target, member);
            IResult result = null;

            foreach (IValidationHandler handler in this._handlers)
            {
                if (null == result)
                {
                    result = handler.Validate(value);
                }
                else
                {
                    result.Concatenate(handler.Validate(value));
                }
                if (!result.IsSuccessful())
                {
                    break;
                }
            }
            return(result);
        }
Example #3
0
        public override IResult Evaluate()
        {
            IResult result  = base.Evaluate();
            decimal?compare = null;
            decimal value   = 0m;

            foreach (IToken operand in this.Operands)
            {
                if (!compare.HasValue)
                {
                    if (null != operand.Value)
                    {
                        DateTime dtcompare = DateTime.MinValue;
                        if (DateTime.TryParse(operand.Value.ToString(), out dtcompare))
                        {
                            compare = dtcompare.Ticks;
                        }
                    }
                    if (!compare.HasValue)
                    {
                        decimal test;
                        if (operand.Value == null || !decimal.TryParse(operand.Value.ToString(), out test))
                        {
                            result.Status = ResultStatus.Unsuccessful;
                            break;
                        }
                        compare = new decimal?(test);
                    }
                }
                else
                {
                    DateTime dtvalue = DateTime.MinValue;
                    if (null != operand.Value)
                    {
                        if (DateTime.TryParse(operand.Value.ToString(), out dtvalue))
                        {
                            value = dtvalue.Ticks;
                        }
                        else
                        {
                            decimal.TryParse(operand.Value.ToString(), out value);
                        }
                    }
                    else if (operand.Value == null || (dtvalue != DateTime.MinValue && !decimal.TryParse(operand.Value.ToString(), out value)))
                    {
                        result.Status = ResultStatus.Unsuccessful;
                        break;
                    }
                    if (compare.Value <= value)
                    {
                        result.Status = ResultStatus.Unsuccessful;
                        break;
                    }
                }
            }
            this.Value = result.IsSuccessful();
            return(result);
        }
Example #4
0
 public void Concatenate(IResult result)
 {
     if (this.Status == ResultStatus.Successful && !result.IsSuccessful())
     {
         this.Status = ResultStatus.Unsuccessful;
     }
     foreach (Exception exception in result.Exceptions)
     {
         this._exceptions.Add(exception);
     }
 }
Example #5
0
 public void Concatenate(IResult result)
 {
     if (this.Status == ResultStatus.Successful && !result.IsSuccessful())
     {
         this.Status = ResultStatus.Unsuccessful;
     }
     foreach (Exception exception in result.Exceptions)
     {
         this._exceptions.Add(exception);
     }
 }
Example #6
0
        public override IResult Validate(object value)
        {
            IResult result = base.Validate(value);

            if (result.IsSuccessful())
            {
                if (value == null || (value is string && string.IsNullOrEmpty(value.ToString())))
                {
                    result.Exceptions.Add(new Exception("Value is required!"));
                    result.Status = ResultStatus.Unsuccessful;
                }
            }
            return(result);
        }
Example #7
0
 public void Concatenate(IResult result)
 {
     if (this.Status == ResultStatus.Successful && !result.IsSuccessful())
     {
         this.Status = ResultStatus.Unsuccessful;
     }
     foreach (Exception exception in result.Exceptions)
     {
         this._exceptions.Add(exception);
     }
     if (result is ITranslationResult)
     {
         this._translation = ((ITranslationResult)result).Translation;
     }
 }
Example #8
0
        public override IResult Validate(object value)
        {
            IResult result = base.Validate(value);

            if (result.IsSuccessful())
            {
                double test;
                if (value != null && !double.TryParse(value.ToString(), out test))
                {
                    result.Exceptions.Add(new Exception("Value is not a number!"));
                    result.Status = ResultStatus.Unsuccessful;
                }
            }
            return(result);
        }
Example #9
0
 public void Concatenate(IResult result)
 {
     if (this.Status == ResultStatus.Successful && !result.IsSuccessful())
     {
         this.Status = ResultStatus.Unsuccessful;
     }
     foreach (Exception exception in result.Exceptions)
     {
         this._exceptions.Add(exception);
     }
     if (result is ITranslationResult)
     {
         this._translation = ((ITranslationResult)result).Translation;
     }
 }
Example #10
0
        protected virtual void OnValidate(ITemplatingItem item)
        {
            IResult result = this.ValidationManager.Validate(item.Data);

            if (null != result)
            {
                item.IsValid = result.IsSuccessful();
            }
            if (item.IsValid)
            {
                item.InvalidMember = null;
                this.OnValidationSucceed(result);
            }
            else
            {
                item.InvalidMember = this.ValidationManager.LastFail().Member;
                this.OnValidationFail(result);
            }
        }
Example #11
0
File: Exists.cs Project: t1b1c/lwas
        public override IResult Evaluate()
        {
            IResult result = base.Evaluate();
            bool    exists = true;

            foreach (IToken operand in this.Operands)
            {
                exists = (operand.Value != null && operand.Value != DBNull.Value);
                if (exists && operand.Value is string)
                {
                    exists = (operand.Value.ToString() != "");
                }
                if (!exists)
                {
                    result.Status = ResultStatus.Unsuccessful;
                    break;
                }
            }
            this.Value = (result.IsSuccessful() && exists);
            return(result);
        }
Example #12
0
        public IResult Validate()
        {
            IResult result = null;

            foreach (IValidationTask task in this._tasks)
            {
                if (null == result)
                {
                    result = task.Validate();
                }
                else
                {
                    result.Concatenate(task.Validate());
                }
                if (!result.IsSuccessful())
                {
                    break;
                }
            }
            return(result);
        }