/// <summary> /// 得到一个对象实体 /// </summary> public SCZM.Model.System.sys_Process GetModel(int ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select ID,ProcessName,Memo,FlagUse,FlagDel,OperaName,OperaTime from sys_Process "); strSql.Append(" where FlagDel=0 and ID=@ID "); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = ID; SCZM.Model.System.sys_Process model = new SCZM.Model.System.sys_Process(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { #region 父表信息 model = DataRowToModel(ds.Tables[0].Rows[0]); #endregion 父表信息end #region 子表信息 StringBuilder strSql2 = new StringBuilder(); strSql2.Append("select ID,ProcessId,OrderId,PostId,FlagDel from sys_ProcessDetail "); strSql2.Append(" where FlagDel=0 and ProcessId=@ProcessId "); SqlParameter[] parameters2 = { new SqlParameter("@ProcessId", SqlDbType.Int, 4) }; parameters2[0].Value = ID; DataSet ds2 = DbHelperSQL.Query(strSql2.ToString(), parameters2); if (ds2.Tables[0].Rows.Count > 0) { #region 子表字段信息 int i = ds2.Tables[0].Rows.Count; List <SCZM.Model.System.sys_ProcessDetail> models = new List <SCZM.Model.System.sys_ProcessDetail>(); SCZM.Model.System.sys_ProcessDetail modelt; for (int n = 0; n < i; n++) { modelt = new SCZM.Model.System.sys_ProcessDetail(); if (ds2.Tables[0].Rows[n]["ID"].ToString() != null && ds2.Tables[0].Rows[n]["ID"].ToString() != "") { modelt.ID = int.Parse(ds2.Tables[0].Rows[n]["ID"].ToString()); } if (ds2.Tables[0].Rows[n]["ProcessId"].ToString() != null && ds2.Tables[0].Rows[n]["ProcessId"].ToString() != "") { modelt.ProcessId = int.Parse(ds2.Tables[0].Rows[n]["ProcessId"].ToString()); } if (ds2.Tables[0].Rows[n]["OrderId"].ToString() != null && ds2.Tables[0].Rows[n]["OrderId"].ToString() != "") { modelt.OrderId = int.Parse(ds2.Tables[0].Rows[n]["OrderId"].ToString()); } if (ds2.Tables[0].Rows[n]["PostId"].ToString() != null && ds2.Tables[0].Rows[n]["PostId"].ToString() != "") { modelt.PostId = int.Parse(ds2.Tables[0].Rows[n]["PostId"].ToString()); } if (ds2.Tables[0].Rows[n]["FlagDel"].ToString() != null && ds2.Tables[0].Rows[n]["FlagDel"].ToString() != "") { if ((ds2.Tables[0].Rows[n]["FlagDel"].ToString() == "1") || (ds2.Tables[0].Rows[n]["FlagDel"].ToString().ToLower() == "true")) { modelt.FlagDel = true; } else { modelt.FlagDel = false; } } models.Add(modelt); } model.sys_ProcessDetails = models; #endregion 子表字段信息end } #endregion 子表信息end return(model); } else { return(null); } }
/// <summary> /// 增加一条数据,及其子表数据 /// </summary> public int Add(SCZM.Model.System.sys_Process model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into sys_Process("); strSql.Append("ProcessName,Memo,FlagUse,FlagDel,OperaName,OperaTime)"); strSql.Append(" values ("); strSql.Append("@ProcessName,@Memo,@FlagUse,@FlagDel,@OperaName,@OperaTime)"); strSql.Append(";set @ReturnValue= @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@ProcessName", SqlDbType.NVarChar, 50), new SqlParameter("@Memo", SqlDbType.NVarChar, 100), new SqlParameter("@FlagUse", SqlDbType.Bit, 1), new SqlParameter("@FlagDel", SqlDbType.Bit, 1), new SqlParameter("@OperaName", SqlDbType.NVarChar, 20), new SqlParameter("@OperaTime", SqlDbType.DateTime), new SqlParameter("@ReturnValue", SqlDbType.Int) }; parameters[0].Value = model.ProcessName; parameters[1].Value = model.Memo; parameters[2].Value = model.FlagUse; parameters[3].Value = model.FlagDel; parameters[4].Value = model.OperaName; parameters[5].Value = model.OperaTime; parameters[6].Direction = ParameterDirection.Output; List <CommandInfo> sqllist = new List <CommandInfo>(); CommandInfo cmd = new CommandInfo(strSql.ToString(), parameters); sqllist.Add(cmd); StringBuilder strSql2; if (model.sys_ProcessDetails != null) { foreach (SCZM.Model.System.sys_ProcessDetail models in model.sys_ProcessDetails) { strSql2 = new StringBuilder(); strSql2.Append("insert into sys_ProcessDetail("); strSql2.Append("ProcessId,OrderId,PostId,FlagDel)"); strSql2.Append(" values ("); strSql2.Append("@ProcessId,@OrderId,@PostId,@FlagDel)"); SqlParameter[] parameters2 = { new SqlParameter("@ProcessId", SqlDbType.Int, 4), new SqlParameter("@OrderId", SqlDbType.Int, 4), new SqlParameter("@PostId", SqlDbType.Int, 4), new SqlParameter("@FlagDel", SqlDbType.Bit, 1) }; parameters2[0].Direction = ParameterDirection.InputOutput; parameters2[1].Value = models.OrderId; parameters2[2].Value = models.PostId; parameters2[3].Value = models.FlagDel; cmd = new CommandInfo(strSql2.ToString(), parameters2); sqllist.Add(cmd); } } DbHelperSQL.ExecuteSqlTranWithIndentity(sqllist); return((int)parameters[6].Value); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(SCZM.Model.System.sys_Process model) { List <CommandInfo> sqllist = new List <CommandInfo>(); CommandInfo cmd = null; StringBuilder strSql = new StringBuilder(); strSql.Append("update sys_Process set "); strSql.Append("ProcessName=@ProcessName,"); strSql.Append("Memo=@Memo,"); strSql.Append("FlagUse=@FlagUse,"); strSql.Append("FlagDel=@FlagDel,"); strSql.Append("OperaName=@OperaName,"); strSql.Append("OperaTime=@OperaTime"); strSql.Append(" where FlagDel=0 and ID=@ID "); SqlParameter[] parameters = { new SqlParameter("@ProcessName", SqlDbType.NVarChar, 50), new SqlParameter("@Memo", SqlDbType.NVarChar, 100), new SqlParameter("@FlagUse", SqlDbType.Bit, 1), new SqlParameter("@FlagDel", SqlDbType.Bit, 1), new SqlParameter("@OperaName", SqlDbType.NVarChar, 20), new SqlParameter("@OperaTime", SqlDbType.DateTime), new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = model.ProcessName; parameters[1].Value = model.Memo; parameters[2].Value = model.FlagUse; parameters[3].Value = model.FlagDel; parameters[4].Value = model.OperaName; parameters[5].Value = model.OperaTime; parameters[6].Value = model.ID; cmd = new CommandInfo(strSql.ToString(), parameters); sqllist.Add(cmd); StringBuilder strSql2 = new StringBuilder(); strSql2.Append("update sys_ProcessDetail set FlagDel=1 where FlagDel=0 and ProcessId=@ProcessId "); SqlParameter[] parameters2 = { new SqlParameter("@ProcessId", SqlDbType.Int, 4) }; parameters2[0].Value = model.ID; cmd = new CommandInfo(strSql2.ToString(), parameters2); sqllist.Add(cmd); StringBuilder strSql3; if (model.sys_ProcessDetails != null) { foreach (SCZM.Model.System.sys_ProcessDetail models in model.sys_ProcessDetails) { strSql3 = new StringBuilder(); strSql3.Append("insert into sys_ProcessDetail("); strSql3.Append("ProcessId,OrderId,PostId,FlagDel)"); strSql3.Append(" values ("); strSql3.Append("@ProcessId,@OrderId,@PostId,@FlagDel)"); SqlParameter[] parameters3 = { new SqlParameter("@ProcessId", SqlDbType.Int, 4), new SqlParameter("@OrderId", SqlDbType.Int, 4), new SqlParameter("@PostId", SqlDbType.Int, 4), new SqlParameter("@FlagDel", SqlDbType.Bit, 1) }; parameters3[0].Value = model.ID; parameters3[1].Value = models.OrderId; parameters3[2].Value = models.PostId; parameters3[3].Value = models.FlagDel; cmd = new CommandInfo(strSql3.ToString(), parameters3); sqllist.Add(cmd); } } int rows = DbHelperSQL.ExecuteSqlTran(sqllist); return(rows); }