示例#1
0
        public bool Update(T entityOld, T entityNews)
        {
            try
            {
                using (var con = GetConnection)
                {
                    Entity.AuditTracing at = new Entity.AuditTracing();
                    Type type = typeof(T);
                    at.Object      = type.Name;
                    at.AuditType   = Entity.AuditType.Update;
                    at.UserID      = Convert.ToInt32(entityNews.GetType().GetProperty("UserIDModified").GetValue(entityNews));
                    at.Date        = DateTime.Now;
                    at.Object      = entityNews.GetType().ToString();
                    at.ReferanceID = Convert.ToInt32(entityNews.GetType().GetProperty("ID").GetValue(entityNews));

                    at.OldValue = Helper.Object.Serialize(entityOld);
                    at.NewValue = Helper.Object.Serialize(entityNews);
                    int AuditID = AuditRepository.CreateAuditTracing(at);

                    entityNews.GetType().GetProperty("AuditID").SetValue(entityNews, AuditID);
                    return(con.Update(entityNews));
                }
            }
            catch (Exception ex)
            {
                LogRepository.CreateLog(ex);
                return(false);
            }
        }
示例#2
0
        public bool Remove(int ID)
        {
            try
            {
                using (var con = GetConnection)
                {
                    T entity = con.Get <T>(ID);

                    Entity.AuditTracing at = new Entity.AuditTracing();
                    Type type = typeof(T);
                    at.Object      = type.Name;
                    at.AuditType   = Entity.AuditType.Remove;
                    at.UserID      = Convert.ToInt32(entity.GetType().GetProperty("UserIDModified").GetValue(entity));
                    at.Date        = DateTime.Now;
                    at.Object      = entity.GetType().ToString();
                    at.ReferanceID = Convert.ToInt32(entity.GetType().GetProperty("ID").GetValue(entity));
                    at.OldValue    = Helper.Object.Serialize(entity);
                    at.NewValue    = null;
                    int AuditID = AuditRepository.CreateAuditTracing(at);

                    return(con.Delete(entity));
                }
            }
            catch (Exception ex)
            {
                LogRepository.CreateLog(ex);
                return(false);
            }
        }
示例#3
0
 int Insert(Entity.AuditTracing model)
 {
     try
     {
         using (var con = GetConnection)
         {
             return((int)con.Insert(model));
         }
     }
     catch
     {
         return(0);
     }
 }
示例#4
0
        public static string Compare <T>(object obj1, object obj2)
        {
            Type type = typeof(T);

            PropertyInfo[]             properties = type.GetProperties();
            List <Entity.AuditTracing> detailList = new List <Entity.AuditTracing>();

            foreach (PropertyInfo property in properties)
            {
                object firstValue  = property.GetValue(obj1);
                object secondValue = property.GetValue(obj2);
                if (!object.Equals(firstValue, secondValue))
                {
                    Entity.AuditTracing details = new Entity.AuditTracing();
                    //details.Property = property.Name;
                    details.OldValue = firstValue?.ToString();
                    details.NewValue = secondValue?.ToString();
                    detailList.Add(details);
                }
            }
            return(Serialize(detailList));
        }
示例#5
0
        public bool DeleteAll()
        {
            try
            {
                using (var con = GetConnection)
                {
                    IEnumerable <T> entities = con.GetAll <T>();
                    foreach (T entity in entities)
                    {
                        T entityOld = Helper.Object.Clone <T>(entity);

                        Entity.AuditTracing at = new Entity.AuditTracing();
                        Type type = typeof(T);
                        at.Object      = type.Name;
                        at.AuditType   = Entity.AuditType.Delete;
                        at.UserID      = Convert.ToInt32(entity.GetType().GetProperty("UserIDModified").GetValue(entity));
                        at.Date        = DateTime.Now;
                        at.Object      = entity.GetType().ToString();
                        at.ReferanceID = Convert.ToInt32(entity.GetType().GetProperty("ID").GetValue(entity));
                        at.OldValue    = Helper.Object.Serialize(entityOld);
                        at.NewValue    = Helper.Object.Serialize(entity);
                        int AuditID = AuditRepository.CreateAuditTracing(at);

                        entity.GetType().GetProperty("AuditID").SetValue(entity, AuditID);

                        entity.GetType().GetProperty("IsActive").SetValue(entity, false);
                    }
                    return(con.Update(entities));
                }
            }
            catch (Exception ex)
            {
                LogRepository.CreateLog(ex);
                return(false);
            }
        }
示例#6
0
 public static int CreateAuditTracing(Entity.AuditTracing entity)
 {
     return(new AuditRepository().Insert(new Entity.AuditTracing()));
 }