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; })); }
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); }
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); }
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; })); }
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; })); }
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; })); }