/// <summary> /// 删除一条数据 /// </summary> public bool Delete(int UserID, int ID) { Model.SOURCEVIEW original = GetModel(UserID, ID); StringBuilder strSql = new StringBuilder(); strSql.Append("delete from SOURCEVIEW "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = ID; int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters); if (rows > 0) { Model.AUDITLOG auditobj = original.GetAuditLogObject(null); auditobj.UserID = UserID; auditobj.CreateDate = DateTime.Now; auditobj.MessageType = Model.AUDITLOG.Severity.Audit; auditobj.ModuleName = "DAL.SOURCEVIEW.Delete"; auditobj.Message = String.Format(AppNum.AuditMessage.SourceViewDeleteSuccess, ID); AUDITLOG.Add(auditobj); return(true); } else { return(false); } }
/// <summary> /// Create AUDITLOG object and set MessageDetail according to object difference /// </summary> /// <param name="newvalue">Model holding new values</param> /// <param name="oldvalue">Model holding original values, can be null if it's insert action</param> /// <returns></returns> internal static Model.AUDITLOG GetAuditLogObject(this Model.SOURCEVIEW newvalue, Model.SOURCEVIEW oldvalue) { Model.AUDITLOG result = new Model.AUDITLOG(); PropertyInfo[] pinfo = typeof(Model.SOURCEVIEW).GetProperties(); StringBuilder sb = new StringBuilder(); if (oldvalue == null) { // new record foreach (PropertyInfo p in pinfo) { switch (p.Name) { case "SOURCETYPE": case "FORMATTYPE": { // skip these properties } break; default: { sb.AppendFormat("{0} = {1}\r\n", p.Name, p.GetValue(newvalue, null)); } break; } } } else { // old record foreach (PropertyInfo p in pinfo) { switch (p.Name) { case "SOURCETYPE": case "FORMATTYPE": { // skip these properties } break; default: { if (p.GetValue(newvalue, null) != p.GetValue(oldvalue, null)) { sb.AppendFormat("{0} = {1} -> {2}\r\n", p.Name, p.GetValue(oldvalue, null), p.GetValue(newvalue, null)); } } break; } } } result.MessageDetail = sb.ToString(); return(result); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(int UserID, CUSTOMRP.Model.SOURCEVIEW model) { Model.SOURCEVIEW original = GetModel(UserID, model.ID); StringBuilder strSql = new StringBuilder(); strSql.Append("update SOURCEVIEW set "); strSql.Append("SOURCEVIEWNAME=@SOURCEVIEWNAME,"); strSql.Append("DATABASEID=@DATABASEID,"); strSql.Append("SOURCETYPE=@SOURCETYPE,"); strSql.Append("TBLVIEWNAME=@TBLVIEWNAME,"); strSql.Append("AUDODATE=@AUDODATE,"); strSql.Append("VIEWLEVEL=@VIEWLEVEL,"); strSql.Append("[DESC]=@DESC,"); strSql.Append("FORMATTYPE=@FORMATTYPE"); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@SOURCEVIEWNAME", SqlDbType.NVarChar, 50), new SqlParameter("@DATABASEID", SqlDbType.Int, 4), new SqlParameter("@SOURCETYPE", SqlDbType.Int, 4), new SqlParameter("@TBLVIEWNAME", SqlDbType.NVarChar, 128), new SqlParameter("@AUDODATE", SqlDbType.DateTime), new SqlParameter("@VIEWLEVEL", SqlDbType.Decimal, 9), new SqlParameter("@DESC", SqlDbType.NVarChar, 50), new SqlParameter("@FORMATTYPE", SqlDbType.Int, 4), new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = model.SOURCEVIEWNAME; parameters[1].Value = model.DATABASEID; parameters[2].Value = model.SOURCETYPE; parameters[3].Value = model.TBLVIEWNAME; parameters[4].Value = model.AUDODATE; parameters[5].Value = model.VIEWLEVEL; parameters[6].Value = model.DESC; parameters[7].Value = model.FORMATTYPE; parameters[8].Value = model.ID; int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters); if (rows > 0) { Model.AUDITLOG auditobj = model.GetAuditLogObject(original); auditobj.UserID = UserID; auditobj.CreateDate = DateTime.Now; auditobj.MessageType = Model.AUDITLOG.Severity.Audit; auditobj.ModuleName = "DAL.SOURCEVIEW.Update"; auditobj.Message = String.Format(AppNum.AuditMessage.SourceViewUpdateSuccess, model.ID); AUDITLOG.Add(auditobj); return(true); } else { return(false); } }