Ejemplo n.º 1
0
        public virtual string this[string columnName]
        {
            get
            {
                if (validatableEntity == null)
                {
                    return(string.Empty);
                }

                var exTestable = this as IExistTestable;
                if (exTestable != null && !exTestable.WasEdited)
                {
                    return(string.Empty);
                }

                var results = validatableEntity.SelfValidate();

                var message = results.Errors
                              .Where(x => x.PropertyName == columnName ||
                                     columnToPropertyMap != null &&
                                     x.PropertyName == columnToPropertyMap.GetValueOrDefault(columnName))
                              .Select(x => x.ErrorMessage)
                              .FirstOrDefault();

                if (exTestable != null && exTestable.HasExistingValue)
                {
                    message = exTestable.ThisValueExistsMessage;
                }

                return(message);
            }
        }