public virtual bool Edit(DbConn PubConn, tb_task_model model)
        {
            List<ProcedureParameter> Par = new List<ProcedureParameter>()
            {
                    
					//
					new ProcedureParameter("@taskname",    model.taskname),
					//
					new ProcedureParameter("@categoryid",    model.categoryid),
					//
					new ProcedureParameter("@nodeid",    model.nodeid),
					//
					new ProcedureParameter("@taskcreatetime",    model.taskcreatetime),
					//
					new ProcedureParameter("@taskupdatetime",    model.taskupdatetime),
					//
					new ProcedureParameter("@tasklaststarttime",    model.tasklaststarttime),
					//
					new ProcedureParameter("@tasklastendtime",    model.tasklastendtime),
					//
					new ProcedureParameter("@tasklasterrortime",    model.tasklasterrortime),
					//
					new ProcedureParameter("@taskerrorcount",    model.taskerrorcount),
					//
					new ProcedureParameter("@taskruncount",    model.taskruncount),
					//
					new ProcedureParameter("@taskcreateuserid",    model.taskcreateuserid),
					//
					new ProcedureParameter("@taskstate",    model.taskstate),
					//
					new ProcedureParameter("@taskversion",    model.taskversion),
					//
					new ProcedureParameter("@taskappconfigjson",    model.taskappconfigjson),
					//
					new ProcedureParameter("@taskcron",    model.taskcron),
					//
					new ProcedureParameter("@taskmainclassnamespace",    model.taskmainclassnamespace),
					//
					new ProcedureParameter("@taskremark",    model.taskremark)
            };
			Par.Add(new ProcedureParameter("@id",  model.id));

            int rev = PubConn.ExecuteSql("update tb_task set taskname=@taskname,categoryid=@categoryid,nodeid=@nodeid,taskcreatetime=@taskcreatetime,taskupdatetime=@taskupdatetime,tasklaststarttime=@tasklaststarttime,tasklastendtime=@tasklastendtime,tasklasterrortime=@tasklasterrortime,taskerrorcount=@taskerrorcount,taskruncount=@taskruncount,taskcreateuserid=@taskcreateuserid,taskstate=@taskstate,taskversion=@taskversion,taskappconfigjson=@taskappconfigjson,taskcron=@taskcron,taskmainclassnamespace=@taskmainclassnamespace,taskremark=@taskremark where id=@id", Par);
            return rev == 1;

        }
        public virtual bool Add(DbConn PubConn, tb_task_model model)
        {

            List<ProcedureParameter> Par = new List<ProcedureParameter>()
                {
					
					//
					new ProcedureParameter("@taskname",    model.taskname),
					//
					new ProcedureParameter("@categoryid",    model.categoryid),
					//
					new ProcedureParameter("@nodeid",    model.nodeid),
					//
					new ProcedureParameter("@taskcreatetime",    model.taskcreatetime),
					//
					new ProcedureParameter("@taskupdatetime",    model.taskupdatetime),
					//
					new ProcedureParameter("@tasklaststarttime",    model.tasklaststarttime),
					//
					new ProcedureParameter("@tasklastendtime",    model.tasklastendtime),
					//
					new ProcedureParameter("@tasklasterrortime",    model.tasklasterrortime),
					//
					new ProcedureParameter("@taskerrorcount",    model.taskerrorcount),
					//
					new ProcedureParameter("@taskruncount",    model.taskruncount),
					//
					new ProcedureParameter("@taskcreateuserid",    model.taskcreateuserid),
					//
					new ProcedureParameter("@taskstate",    model.taskstate),
					//
					new ProcedureParameter("@taskversion",    model.taskversion),
					//
					new ProcedureParameter("@taskappconfigjson",    model.taskappconfigjson),
					//
					new ProcedureParameter("@taskcron",    model.taskcron),
					//
					new ProcedureParameter("@taskmainclassnamespace",    model.taskmainclassnamespace),
					//
					new ProcedureParameter("@taskremark",    model.taskremark)   
                };
            int rev = PubConn.ExecuteSql(@"insert into tb_task(taskname,categoryid,nodeid,taskcreatetime,taskupdatetime,tasklaststarttime,tasklastendtime,tasklasterrortime,taskerrorcount,taskruncount,taskcreateuserid,taskstate,taskversion,taskappconfigjson,taskcron,taskmainclassnamespace,taskremark)
										   values(@taskname,@categoryid,@nodeid,@taskcreatetime,@taskupdatetime,@tasklaststarttime,@tasklastendtime,@tasklasterrortime,@taskerrorcount,@taskruncount,@taskcreateuserid,@taskstate,@taskversion,@taskappconfigjson,@taskcron,@taskmainclassnamespace,@taskremark)", Par);
            return rev == 1;

        }
		public virtual tb_task_model CreateModel(DataRow dr)
        {
            var o = new tb_task_model();
			
			//
			if(dr.Table.Columns.Contains("id"))
			{
				o.id = dr["id"].Toint();
			}
			//
			if(dr.Table.Columns.Contains("taskname"))
			{
				o.taskname = dr["taskname"].Tostring();
			}
			//
			if(dr.Table.Columns.Contains("categoryid"))
			{
				o.categoryid = dr["categoryid"].Toint();
			}
			//
			if(dr.Table.Columns.Contains("nodeid"))
			{
				o.nodeid = dr["nodeid"].Toint();
			}
			//
			if(dr.Table.Columns.Contains("taskcreatetime"))
			{
				o.taskcreatetime = dr["taskcreatetime"].ToDateTime();
			}
			//
			if(dr.Table.Columns.Contains("taskupdatetime"))
			{
				o.taskupdatetime = dr["taskupdatetime"].ToDateTime();
			}
			//
			if(dr.Table.Columns.Contains("tasklaststarttime"))
			{
				o.tasklaststarttime = dr["tasklaststarttime"].ToDateTime();
			}
			//
			if(dr.Table.Columns.Contains("tasklastendtime"))
			{
				o.tasklastendtime = dr["tasklastendtime"].ToDateTime();
			}
			//
			if(dr.Table.Columns.Contains("tasklasterrortime"))
			{
				o.tasklasterrortime = dr["tasklasterrortime"].ToDateTime();
			}
			//
			if(dr.Table.Columns.Contains("taskerrorcount"))
			{
				o.taskerrorcount = dr["taskerrorcount"].Toint();
			}
			//
			if(dr.Table.Columns.Contains("taskruncount"))
			{
				o.taskruncount = dr["taskruncount"].Toint();
			}
			//
			if(dr.Table.Columns.Contains("taskcreateuserid"))
			{
				o.taskcreateuserid = dr["taskcreateuserid"].Toint();
			}
			//
			if(dr.Table.Columns.Contains("taskstate"))
			{
				o.taskstate = dr["taskstate"].ToByte();
			}
			//
			if(dr.Table.Columns.Contains("taskversion"))
			{
				o.taskversion = dr["taskversion"].Toint();
			}
			//
			if(dr.Table.Columns.Contains("taskappconfigjson"))
			{
				o.taskappconfigjson = dr["taskappconfigjson"].Tostring();
			}
			//
			if(dr.Table.Columns.Contains("taskcron"))
			{
				o.taskcron = dr["taskcron"].Tostring();
			}
			//
			if(dr.Table.Columns.Contains("taskmainclassnamespace"))
			{
				o.taskmainclassnamespace = dr["taskmainclassnamespace"].Tostring();
			}
            //
            if (dr.Table.Columns.Contains("taskmainclassdllfilename"))
            {
                o.taskmainclassdllfilename = dr["taskmainclassdllfilename"].ToString();
            }
			//
			if(dr.Table.Columns.Contains("taskremark"))
			{
				o.taskremark = dr["taskremark"].Tostring();
			}
			return o;
        }
 public int UpdateTask(DbConn PubConn, tb_task_model model)
 {
     return SqlHelper.Visit<int>(ps =>
     {
         ps.Add("@id", model.id);
         ps.Add("@taskname", model.taskname);
         ps.Add("@categoryid", model.categoryid);
         ps.Add("@nodeid", model.nodeid);
         ps.Add("@taskupdatetime", model.taskupdatetime);
         ps.Add("@taskcreateuserid", model.taskcreateuserid);
         ps.Add("@taskappconfigjson", model.taskappconfigjson.NullToEmpty());
         ps.Add("@taskcron", model.taskcron);
         ps.Add("@taskmainclassnamespace", model.taskmainclassnamespace);
         ps.Add("@taskremark", model.taskremark);
         ps.Add("@taskmainclassdllfilename", model.taskmainclassdllfilename);
         ps.Add("@taskversion", model.taskversion);
         string sql = "Update tb_task Set taskname=@taskname,categoryid=@categoryid,nodeid=@nodeid,taskupdatetime=@taskupdatetime,";
         sql += "taskappconfigjson=@taskappconfigjson,taskcron=@taskcron,taskcreateuserid=@taskcreateuserid,";
         sql += "taskmainclassnamespace=@taskmainclassnamespace,taskremark=@taskremark,taskmainclassdllfilename=@taskmainclassdllfilename,taskversion=@taskversion";
         sql += " where id=@id";
         int i = PubConn.ExecuteSql(sql, ps.ToParameters());
         return i;
     });
 }
        public int AddTask(DbConn PubConn, tb_task_model model)
        {
            return SqlHelper.Visit<int>(ps =>
            {
                ps.Add("@taskname", model.taskname);
                ps.Add("@categoryid", model.categoryid);
                ps.Add("@nodeid", model.nodeid);
                ps.Add("@taskcreatetime", model.taskcreatetime);
                ps.Add("@taskupdatetime", model.taskcreatetime);
                ps.Add("@taskerrorcount", 0);
                ps.Add("@taskruncount", 0);
                ps.Add("@taskcreateuserid", model.taskcreateuserid);
                ps.Add("@taskstate",0);
                ps.Add("@taskversion", 1);
                ps.Add("@taskappconfigjson", model.taskappconfigjson.NullToEmpty());
                ps.Add("@taskcron", model.taskcron);
                ps.Add("@taskmainclassnamespace", model.taskmainclassnamespace);
                ps.Add("@taskremark", model.taskremark);
                ps.Add("@taskmainclassdllfilename", model.taskmainclassdllfilename);
                int rev = Convert.ToInt32(PubConn.ExecuteScalar(@"insert into tb_task(taskname,categoryid,nodeid,taskcreatetime,taskruncount,taskcreateuserid,taskstate,taskversion,taskappconfigjson,taskcron,taskmainclassnamespace,taskremark,taskmainclassdllfilename)
										   values(@taskname,@categoryid,@nodeid,@taskcreatetime,@taskruncount,@taskcreateuserid,@taskstate,@taskversion,@taskappconfigjson,@taskcron,@taskmainclassnamespace,@taskremark,@taskmainclassdllfilename) select @@IDENTITY", ps.ToParameters()));
                return rev;
            });
        }