Exemplo n.º 1
0
        /// <summary>
        /// Make Validation Operation for Insert/Update Object.
        /// </summary>
        /// <param name="isUpdate">Determines Validation is for update operation.
        /// If true, Validation is for Update operation else Validation Insert Operation.</param>
        /// <returns>Returns IEntityValidationResult object.</returns>
        public IEntityValidationResult ValidateObject(bool isUpdate = false)
        {
            IEntityValidationResult result = this.Validate();

            try
            {
                if (result.FailError == null && result.HasError)
                {
                    if (isUpdate && this.ChangeSetCount > 0)
                    {
                        IList <ValidationResult> resultError = new List <ValidationResult>();
                        List <string>            changeSet   = this.GetColumnChangeList();

                        IEnumerator <string> members;
                        string        errMessage;
                        List <string> lstMembers;

                        foreach (var item in result.Errors)
                        {
                            errMessage = item.ErrorMessage;
                            members    = item.MemberNames.GetEnumerator();
                            lstMembers = new List <string>();
                            while (members.MoveNext())
                            {
                                if (changeSet.Contains(members.Current))
                                {
                                    lstMembers.Add(members.Current);
                                }
                            }

                            if (lstMembers.Count > 0)
                            {
                                resultError.Add(new ValidationResult(errMessage, lstMembers.AsEnumerable()));
                            }
                        }

                        result = new EntityValidationResult(resultError);

                        /*
                         *  string idProp = this.GetIdColumn();
                         *  if (!string.IsNullOrWhiteSpace(idProp))
                         *  {
                         *      PropertyInfo prpId=
                         *  }
                         */
                    }
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(result);
        }
        public static IEntityValidationResult ValidateEntity <T>(T entity)
            where T : IBaseBO
        {
            IEntityValidationResult result = null;

            EntityValidator <T> validator = new EntityValidator <T>();

            result = validator.Validate(entity);

            return(result);
        }
Exemplo n.º 3
0
        public IEntityValidationResult Validate(T entity)
        {
            IEntityValidationResult result = null;
            Exception e = null;
            var       validationResults = new List <ValidationResult>();

            try
            {
                var vc      = new ValidationContext(entity, null, null);
                var isValid = Validator.TryValidateObject
                                  (entity, vc, validationResults, true);
            }
            catch (Exception ex)
            {
                e = ex;
            }

            result = new EntityValidationResult(validationResults, e);

            return(result);
        }