/// <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); }
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); }