public List <AuditTrialFeild> GetAuditTrialFeildBySingleObject(object model) { List <AuditTrialFeild> auditTrialFeilds = new List <AuditTrialFeild>(); var properties = model.GetType().GetProperties(); foreach (var item in properties) { if (item.GetValue(model) != null) { AuditTrialFeild v = new AuditTrialFeild(); v.WhichFeildName = item.Name; v.WhatValue = item.GetValue(model, null).ToString(); auditTrialFeilds.Add(v); } } return(auditTrialFeilds); }
//Compare Same Class Different Object public List <AuditTrialFeild> GetAuditTrialFeildByDifferenceBetweenObject(object current, object prev) { if (current.GetType() == prev.GetType()) { List <AuditTrialFeild> auditTrialFeilds = new List <AuditTrialFeild>(); var properties = current.GetType().GetProperties(); foreach (var item in properties) { AuditTrialFeild v = new AuditTrialFeild(); if (!item.Name.Contains("_")) { v.WhichFeildName = item.Name; if (item.GetValue(prev, null) == null) { v.WhichValue = "null"; } else { v.WhichValue = item.GetValue(prev, null).ToString(); } if (item.GetValue(current, null) == null) { v.WhatValue = "null"; } else { v.WhatValue = item.GetValue(current, null).ToString(); } if (!Equals(v.WhichValue, v.WhatValue)) { auditTrialFeilds.Add(v); } } } return(auditTrialFeilds); } else { return(null); } }