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