コード例 #1
0
        public virtual bool Add2(DbConn PubConn, tb_consumer_model model)
        {
            return(SqlHelper.Visit((ps) =>
            {
                List <ProcedureParameter> Par = new List <ProcedureParameter>()
                {
                    //消费者临时id(消费者启动后唯一,Guid转long)
                    new ProcedureParameter("@tempid", model.tempid),
                    //消费者clinet的id
                    new ProcedureParameter("@consumerclientid", model.consumerclientid),
                    //支持的分区顺序号(支持多个顺序号)
                    new ProcedureParameter("@partitionindexs", model.partitionindexs),
                    //客户端名称
                    new ProcedureParameter("@clientname", model.clientname),
                    ////最后心跳时间(以当前库时间为准)
                    //new ProcedureParameter("@lastheartbeat",    model.lastheartbeat),
                    ////上一次更新时间(以当前库时间为准)
                    //new ProcedureParameter("@lastupdatetime",    model.lastupdatetime),
                    ////客户端创建时间(以当前库时间为准)
                    //new ProcedureParameter("@createtime",    model.createtime)
                };
                int rev = PubConn.ExecuteSql(@"insert into tb_consumer(tempid,consumerclientid,partitionindexs,clientname,lastheartbeat,lastupdatetime,createtime)
										       values(@tempid,@consumerclientid,@partitionindexs,@clientname,getdate(),getdate(),getdate())"                                        , Par);
                return rev == 1;
            }));
        }
コード例 #2
0
        public virtual bool Edit(DbConn PubConn, tb_consumer_model model)
        {
            List <ProcedureParameter> Par = new List <ProcedureParameter>()
            {
                //消费者临时id(消费者启动后唯一,Guid转long)
                new ProcedureParameter("@tempid", model.tempid),
                //消费者clinet的id
                new ProcedureParameter("@consumerclientid", model.consumerclientid),
                //支持的分区顺序号(支持多个顺序号)
                new ProcedureParameter("@partitionindexs", model.partitionindexs),
                //客户端名称
                new ProcedureParameter("@clientname", model.clientname),
                //最后心跳时间(以当前库时间为准)
                new ProcedureParameter("@lastheartbeat", model.lastheartbeat),
                //上一次更新时间(以当前库时间为准)
                new ProcedureParameter("@lastupdatetime", model.lastupdatetime),
                //客户端创建时间(以当前库时间为准)
                new ProcedureParameter("@createtime", model.createtime)
            };

            Par.Add(new ProcedureParameter("@id", model.id));

            int rev = PubConn.ExecuteSql("update tb_consumer set tempid=@tempid,consumerclientid=@consumerclientid,partitionindexs=@partitionindexs,clientname=@clientname,lastheartbeat=@lastheartbeat,lastupdatetime=@lastupdatetime,createtime=@createtime where id=@id", Par);

            return(rev == 1);
        }
コード例 #3
0
        public virtual tb_consumer_model CreateModel(DataRow dr)
        {
            var o = new tb_consumer_model();

            //
            if (dr.Table.Columns.Contains("id"))
            {
                o.id = dr["id"].Toint();
            }
            //消费者临时id(消费者启动后唯一,Guid转long)
            if (dr.Table.Columns.Contains("tempid"))
            {
                o.tempid = dr["tempid"].Tolong();
            }
            //消费者clinet的id
            if (dr.Table.Columns.Contains("consumerclientid"))
            {
                o.consumerclientid = dr["consumerclientid"].Toint();
            }
            //支持的分区顺序号(支持多个顺序号)
            if (dr.Table.Columns.Contains("partitionindexs"))
            {
                o.partitionindexs = dr["partitionindexs"].Tostring();
            }
            //客户端名称
            if (dr.Table.Columns.Contains("clientname"))
            {
                o.clientname = dr["clientname"].Tostring();
            }
            //最后心跳时间(以当前库时间为准)
            if (dr.Table.Columns.Contains("lastheartbeat"))
            {
                o.lastheartbeat = dr["lastheartbeat"].ToDateTime();
            }
            //上一次更新时间(以当前库时间为准)
            if (dr.Table.Columns.Contains("lastupdatetime"))
            {
                o.lastupdatetime = dr["lastupdatetime"].ToDateTime();
            }
            //客户端创建时间(以当前库时间为准)
            if (dr.Table.Columns.Contains("createtime"))
            {
                o.createtime = dr["createtime"].ToDateTime();
            }
            return(o);
        }
コード例 #4
0
 public virtual List <tb_consumer_model> GetAllList(DbConn PubConn)
 {
     return(SqlHelper.Visit((ps) =>
     {
         List <tb_consumer_model> rs = new List <tb_consumer_model>();
         string sql = "SELECT * FROM  tb_consumer  WITH(NOLOCK) ";
         DataTable dt = PubConn.SqlToDataTable(sql, ps.ToParameters());
         if (dt != null && dt.Rows.Count > 0)
         {
             foreach (DataRow dr in dt.Rows)
             {
                 tb_consumer_model model = CreateModel(dr);
                 rs.Add(model);
             }
         }
         return rs;
     }));
 }
コード例 #5
0
 public tb_consumer_model GetModel(DbConn conn, int consumerclientid)
 {
     return(SqlHelper.Visit((ps) =>
     {
         string sql = "SELECT * FROM  tb_consumer  WITH(NOLOCK)  WHERE consumerclientid=@id";
         ps.Add("@id", consumerclientid);
         DataTable dt = conn.SqlToDataTable(sql, ps.ToParameters());
         if (dt != null && dt.Rows.Count > 0)
         {
             foreach (DataRow dr in dt.Rows)
             {
                 tb_consumer_model model = CreateModel(dr);
                 return model;
             }
         }
         return null;
     }));
 }
コード例 #6
0
 public IList <tb_consumer_model> GetConsumerList(DbConn conn, ICollection <int> array)
 {
     return(SqlHelper.Visit((ps) =>
     {
         if (array == null || array.Count <= 0)
         {
             return null;
         }
         IList <tb_consumer_model> list = new List <tb_consumer_model>();
         foreach (var item in array)
         {
             tb_consumer_model model = GetModel(conn, item);
             if (model != null)
             {
                 list.Add(model);
             }
         }
         return list;
     }));
 }