public object[] ApplyMaster(DataRow drM, string MID, DataTable dtD, SqlTransaction tran, RDFNew.Module.DALEntity.Sys_Log la) { object[] rtns = new object[] { 0, "", null }; if (drM == null || String.IsNullOrEmpty(MID) || dtD == null) return rtns; foreach (DataRow dr in dtD.Rows) { if (dr.RowState == DataRowState.Added) { //新增 dr[MKEY] = DALHelper.GetMasterNo(tran, System.DateTime.Now.ToString("yyyy"), "00000000", MTABLE, MKEY); dr["DeployMID"] = MID; if (dr["Seq"].ToString() == "") dr["Seq"] = DALHelper.GetDetailSeq(tran, "", "0000", 1, "Flow_DeployD", "Seq", "DeployMID", MID); rtns[1] = DALHelper.InsertTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Modified) { //修改 rtns[1] = DALHelper.UpdateTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Deleted) { //删除 ApplyMaster_BeforeDelete(dr, tran); rtns[1] = DALHelper.DeleteTable(MTABLE, MKEY, dr, tran, la); } } return rtns; }
public object[] ApplyMaster(DataTable dt, RDFNew.Module.DALEntity.Sys_Log la, DataTable dtFlow) { object[] rtns = new object[] { 0, "", null }; SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try { foreach (DataRow dr in dt.Rows) { if (dr.RowState == DataRowState.Added) { //新增 if (dr[MKEY].ToString() == "") dr[MKEY] = DALHelper.GetMasterNo(tran, System.DateTime.Now.ToString("yyyyMM"), "0000", MTABLE, MKEY); if (dtFlow != null) { //记录实例ID,用于后续联动 dr["InstanceID"] = dtFlow.Rows[0]["InstanceID"]; } rtns[1] = DALHelper.InsertTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Modified) { //修改 rtns[1] = DALHelper.UpdateTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Deleted) { //删除 ApplyMaster_BeforeDelete(dr, tran); rtns[1] = DALHelper.DeleteTable(MTABLE, MKEY, dr, tran, la); } //处理流程主表 if (dtFlow != null) { dtFlow.Rows[0]["BillID"] = dr[MKEY]; dtFlow.Rows[0]["OwnerID"] = dr["EmployeeID"]; new RDFNew.Module.Admin.Flow.Flow_ToDoM().ApplyMaster(dtFlow, null, tran, la); } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); rtns[0] = 1; rtns[1] = ex; } finally { conn.Close(); conn.Dispose(); } return rtns; }
public object[] ApplyMaster(DataTable dtM, RDFNew.Module.DALEntity.Sys_Log la) { DataTable dtDetail = null; if (dtM.Rows[0].RowState ==DataRowState.Deleted || (la != null && la.Action.ToUpper() == "DELETE")) { dtDetail = new RDFNew.Module.Admin.Flow.Flow_ToDoD().GetDataByParent( dtM.Rows[0]["ToDoMID", DataRowVersion.Original].ToString())[1] as DataTable; for (int i = 0; i < dtDetail.Rows.Count; i++) dtDetail.Rows[i].Delete(); } return ApplyMaster(dtM, dtDetail,null, la); }
public object[] ApplyMaster(DataTable dt, RDFNew.Module.DALEntity.Sys_Log la) { object[] rtns = new object[] { 0, "", null }; SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try { foreach (DataRow dr in dt.Rows) { if (dr.RowState == DataRowState.Added) { //新增 if (dr[MKEY].ToString() == "") dr[MKEY] = DALHelper.GetMasterNo(tran, "", "000000", MTABLE, MKEY); else dr[MKEY] = dr[MKEY].ToString().ToUpper(); rtns[1] = DALHelper.InsertTable(MTABLE, MKEY, dr, tran, la); if (Convert.ToBoolean(dr["IsUser"])) SyncEmployeeAndUser(dr, tran); } else if (dr.RowState == DataRowState.Modified) { //修改 rtns[1] = DALHelper.UpdateTable(MTABLE, MKEY, dr, tran, la); if (Convert.ToBoolean(dr["IsUser"])) SyncEmployeeAndUser(dr, tran); } else if (dr.RowState == DataRowState.Deleted) { //删除 ApplyMaster_BeforeDelete(dr, tran); rtns[1] = DALHelper.DeleteTable(MTABLE, MKEY, dr, tran, la); } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); rtns[0] = 1; rtns[1] = ex; } finally { conn.Close(); conn.Dispose(); } return rtns; }
public object[] ApplyMaster(DataTable dt, DataTable dtSys_User, DataTable Sys_ModuleF, RDFNew.Module.DALEntity.Sys_Log la) { object[] rtns = new object[] { 0, "", null }; SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try { foreach (DataRow dr in dt.Rows) { if (dr.RowState == DataRowState.Added) { //新增 if (dr[MKEY].ToString() == "") dr[MKEY] = DALHelper.GetMasterNo(tran, "R"+System.DateTime.Now.ToString("yyyy"), "0000", MTABLE, MKEY); if (dr["Seq"].ToString() == "") dr["Seq"] = DALHelper.GetMasterNo(tran, "", "0000", 10, MTABLE, "Seq"); rtns[1] = DALHelper.InsertTable(MTABLE, MKEY, dr, tran, la); ApplyMaster_AfterInsert(dr, dtSys_User,Sys_ModuleF, tran); } else if (dr.RowState == DataRowState.Modified) { //修改 rtns[1] = DALHelper.UpdateTable(MTABLE, MKEY, dr, tran, la); ApplyMaster_AfterModify(dr, dtSys_User, Sys_ModuleF, tran); } else if (dr.RowState == DataRowState.Deleted) { //删除 ApplyMaster_BeforeDelete(dr, dtSys_User, Sys_ModuleF, tran); rtns[1] = DALHelper.DeleteTable(MTABLE, MKEY, dr, tran, la); } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); rtns[0] = 1; rtns[1] = ex; } finally { conn.Close(); conn.Dispose(); } return rtns; }
public object[] ApplyMaster(DataTable dtM, DataTable dtD, RDFNew.Module.DALEntity.Sys_Log la) { object[] rtns = new object[] { 0, "", null }; SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try { foreach (DataRow dr in dtM.Rows) { if (dr.RowState == DataRowState.Added) { //新增 if (dr[MKEY].ToString() == "") dr[MKEY] = DALHelper.GetMasterNo(tran, System.DateTime.Now.ToString("yyyyMM"), "0000", MTABLE, MKEY); rtns[1] = DALHelper.InsertTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Modified) { //修改 rtns[1] = DALHelper.UpdateTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Deleted) { //删除 ApplyMaster_BeforeDelete(dr, tran); rtns[1] = DALHelper.DeleteTable(MTABLE, MKEY, dr, tran, la); } //处理子表 new Flow_ToDoListD().ApplyMaster(dr, rtns[1].ToString(), dtD, tran, la); } tran.Commit(); } catch (Exception ex) { tran.Rollback(); rtns[0] = 1; rtns[1] = ex; } finally { conn.Close(); conn.Dispose(); } return rtns; }
public object[] ApplyMaster(DataTable dt, RDFNew.Module.DALEntity.Sys_Log la) { object[] rtns = new object[] { 0, "", null }; SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try { foreach (DataRow dr in dt.Rows) { if (dr.RowState == DataRowState.Added) { //新增 ApplyMaster_BeforeInsert(dr, tran); rtns[1] = DALHelper.InsertTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Modified) { //修改 ApplyMaster_BeforeModify(dr, tran); rtns[1] = DALHelper.UpdateTable(MTABLE, MKEY, dr, tran, la); } else if (dr.RowState == DataRowState.Deleted) { //删除 ApplyMaster_BeforeDelete(dr, tran); rtns[1] = DALHelper.DeleteTable(MTABLE, MKEY, dr, tran, la); } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); rtns[0] = 1; rtns[1] = ex; } finally { conn.Close(); conn.Dispose(); } return rtns; }
public static object DeleteTable(string tbName, string pkField, DataRow dr, SqlTransaction tran, RDFNew.Module.DALEntity.Sys_Log la) { string FID = dr[pkField, DataRowVersion.Original].ToString(); if (la != null) { la.Table = tbName; //新增在操作后记日志,修改删除在操作前记日志 la.Key = pkField; la.Value = FID; ApplyLogAction(tran, la); } string SqlInsert = ""; System.Text.StringBuilder sbSql = new StringBuilder(); List<SqlParameter> parms = new List<SqlParameter>(); sbSql.Append("Delete " + tbName + " Where [" + pkField + "]=@" + pkField + " "); SqlInsert = sbSql.ToString(); parms.Add(new SqlParameter("@" + pkField, FID)); SqlHelper.ExecuteNonQuery(tran, CommandType.Text, SqlInsert, parms.ToArray()); return FID; }
public object[] ApplyMaster(DataTable dt, DataTable dtSys_Role, RDFNew.Module.DALEntity.Sys_Log la) { object[] rtns = new object[] { 0, "", null }; SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); try { foreach (DataRow dr in dt.Rows) { if (dr.RowState == DataRowState.Added) { //新增 if (dr[MKEY].ToString() == "") dr[MKEY] = DALHelper.GetMasterNo(tran, System.DateTime.Now.ToString("yyyy"), "00000000", MTABLE, MKEY); dr["RSeq"] = DALHelper.GetDetailSeq(tran, "", "00000000", 50, MTABLE, "RSeq", "PID", dr["PID"].ToString()); dr["RID"] = dr["PID"].ToString() + dr["RSeq"].ToString(); if (dr["PID"].ToString() != "") dr["TreeLevel"] = DALHelper.GetFristValue(tran, String.Format(@" Select TreeLevel+1 From {0} Where RID='{1}' ", MTABLE, dr["PID"]), null); else dr["TreeLevel"] = 0; rtns[1] = DALHelper.InsertTable(MTABLE, MKEY, dr, tran, la); ApplyMaster_AfterInsert(dr, dtSys_Role, tran); } else if (dr.RowState == DataRowState.Modified) { //修改 if (!dr["PID", DataRowVersion.Current].Equals(dr["PID", DataRowVersion.Original])) { dr["RSeq"] = DALHelper.GetDetailSeq(tran, "", "00000000", 50, MTABLE, "RSeq", "PID", dr["PID"].ToString()); dr["RID"] = dr["PID"].ToString() + dr["RSeq"].ToString(); if (dr["PID"].ToString() != "") dr["TreeLevel"] = DALHelper.GetFristValue(tran, String.Format(@" Select TreeLevel+1 From Flow_Org Where RID='{0}' ", dr["PID"]), null); else dr["TreeLevel"] = 0; } rtns[1] = DALHelper.UpdateTable(MTABLE, MKEY, dr, tran, la); //递归更改下级相关字段 if (!dr["PID", DataRowVersion.Current].Equals(dr["PID", DataRowVersion.Original])) ApplyMaster_AfterMove(dr["RID", DataRowVersion.Original].ToString(), dr["RID"].ToString(), tran); ApplyMaster_AfterModify(dr, dtSys_Role, tran); } else if (dr.RowState == DataRowState.Deleted) { //删除 ApplyMaster_BeforeDelete(dr,dtSys_Role, tran); rtns[1] = DALHelper.DeleteTable(MTABLE, MKEY, dr, tran, la); } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); rtns[0] = 1; rtns[1] = ex; } finally { conn.Close(); conn.Dispose(); } return rtns; }
public object[] ApplyMaster(DataTable dt, RDFNew.Module.DALEntity.Sys_Log la) { return ApplyMaster(dt, null, la); }
public static object UpdateTable(string tbName, string pkField, DataRow dr, SqlTransaction tran, RDFNew.Module.DALEntity.Sys_Log la) { string FID = dr[pkField].ToString(); if (la != null) { la.Table = tbName; //新增在操作后记日志,修改删除在操作前记日志 la.Key = pkField; la.Value = FID; ApplyLogAction(tran, la); } RDFNew.Module.DALEntity.QuerySet qs = new RDFNew.Module.DALEntity.QuerySet(); qs.QueryInfos.Add(new RDFNew.Module.DALEntity.QueryInfo(pkField, "=", FID)); DataTable dtOrg = GetMaster(tran, tbName, qs); string SqlInsert = ""; System.Text.StringBuilder sbSql = new StringBuilder(); List<SqlParameter> parms = new List<SqlParameter>(); sbSql.Append("Update " + tbName + " Set "); int chg = 0; foreach (DataColumn dc in dtOrg.Columns) { if (!dr[dc.ColumnName].Equals(dtOrg.Rows[0][dc.ColumnName])) { sbSql.Append("[" + dc.ColumnName + "]=@" + dc.ColumnName + ","); parms.Add(new SqlParameter("@" + dc.ColumnName, dr[dc.ColumnName])); chg++; } } if (chg > 0) { SqlInsert = sbSql.ToString().TrimEnd(',') + " Where " + pkField + "=@" + pkField + " "; parms.Add(new SqlParameter("@" + pkField, FID)); SqlHelper.ExecuteNonQuery(tran, CommandType.Text, SqlInsert, parms.ToArray()); } return FID; }
public static object InsertTable(string tbName, string pkField, DataRow dr, SqlTransaction tran, RDFNew.Module.DALEntity.Sys_Log la) { DataTable dtEmpty = GetMasterEmpty(tran, tbName); string SqlInsert = ""; System.Text.StringBuilder sbSql = new StringBuilder(); System.Text.StringBuilder sbPm = new StringBuilder(); List<SqlParameter> parms = new List<SqlParameter>(); sbSql.Append("Insert Into " + tbName + " ( "); sbPm.Append("Select "); foreach (DataColumn dc in dtEmpty.Columns) { if (dr[dc.ColumnName] != System.DBNull.Value) { sbSql.Append("[" + dc.ColumnName + "],"); sbPm.Append("@" + dc.ColumnName + ","); parms.Add(new SqlParameter("@" + dc.ColumnName, dr[dc.ColumnName])); } } SqlInsert = sbSql.ToString().TrimEnd(',') + ") " + sbPm.ToString().TrimEnd(','); SqlHelper.ExecuteNonQuery(tran, CommandType.Text, SqlInsert, parms.ToArray()); if (la != null) { la.Table = tbName; //新增在操作后记日志,修改删除在操作前记日志 la.Key= pkField; la.Value= dr[pkField].ToString(); ApplyLogAction(tran, la); } return dr[pkField]; }
public object[] ApplyMaster(DataTable dt, RDFNew.Module.DALEntity.Sys_Log la) { return new object[] { 0, "", null }; }