/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="Entity"></param> /// <param name="NewEntity"></param> /// <param name="OldEntity"></param> /// <returns></returns> public int Add <T>(operatelogEntity Entity, T NewEntity, T OldEntity) { if (NewEntity == null || OldEntity == null) { return(1); } StringBuilder sb = new StringBuilder(); PropertyInfo[] PropertyList = NewEntity.GetType().GetProperties(); if (PropertyList.Length > 0) { ModelInfoAttribute myAttr; foreach (PropertyInfo item in PropertyList) { try { switch (item.Name) { case "cuser": case "ctime": case "uuser": case "utime": case "isdelete": continue; break; } string NewVal = NewEntity.GetType().GetProperty(item.Name).GetValue(NewEntity, null).ToString(); string OldVal = OldEntity.GetType().GetProperty(item.Name).GetValue(OldEntity, null).ToString(); if (NewVal != OldVal) { myAttr = (ModelInfoAttribute)Attribute.GetCustomAttribute(NewEntity.GetType().GetProperty(item.Name), typeof(ModelInfoAttribute)); if (myAttr != null) { sb.AppendLine(myAttr.Name + ":" + OldVal + " -> " + NewVal + ";"); } } } catch (Exception ex) { ErrorLog.WriteErrorMessage(ex); } } } if (sb.Length > 0) { Entity.logcontent = sb.ToString(); Entity.ip = IPHelp.GetClientIP(); return(dal.Add(Entity)); } else { return(0); } }
/// <summary> /// 插入操作日志 /// </summary> /// <param name="Entity">日志对象</param> /// <returns></returns> public int Add(operatelogEntity Entity) { Entity.ip = IPHelp.GetClientIP(); return(dal.Add(Entity)); }