private void LogDetailStore(object Data, LogDetailType Type) { try { Type t = Data.GetType(); long EntityId = Convert.ToInt64(t.GetProperty("Id").GetValue(Data)); int ETypeId = EntityTypeId(t.Name); DAL.LogMaster l = DB.LogMasters.Where(x => x.EntityId == EntityId && x.EntityTypeId == ETypeId).FirstOrDefault(); DAL.LogDetail ld = new DAL.LogDetail(); DateTime dt = DateTime.Now; if (l == null) { l = new DAL.LogMaster(); DB.LogMasters.Add(l); l.EntityId = EntityId; l.EntityTypeId = ETypeId; l.CreatedAt = dt; l.CreatedBy = Caller.UserId; } if (Type == LogDetailType.UPDATE) { l.UpdatedAt = dt; l.UpdatedBy = Caller.UserId; } else if (Type == LogDetailType.DELETE) { l.DeletedAt = dt; l.DeletedBy = Caller.UserId; } DB.SaveChanges(); DB.LogDetails.Add(ld); ld.LogMasterId = l.Id; ld.RecordDetail = new JavaScriptSerializer().Serialize(Data); ld.EntryBy = Caller.UserId; ld.EntryAt = dt; ld.LogDetailTypeId = LogDetailTypeId(Type); DB.SaveChanges(); } catch (Exception ex) { } }
private int LogDetailTypeId(LogDetailType Type) { DAL.LogDetailType ldt = LogDetailTypeList.Where(x => x.Type == Type.ToString()).FirstOrDefault(); return(ldt.Id); }