/// <summary> /// 添加一个自定义标签 /// </summary> /// <param name="value">自定义标签数据</param> /// <returns>返回新增的自定义标签的ID</returns> public int InsertMyTag(MyTagItem value) { int id = 0; _DbParameter[] pars ={ new _DbParameter().Set("@Key", DbType.String, value.Key), new _DbParameter().Set("@Intro", DbType.String, value.Intro), new _DbParameter().Set("@Code", DbType.String, value.Code), new _DbParameter().Set("@Publish", DbType.String, value.Publish.ToString("yyyy-MM-dd HH:mm:ss")), new _DbParameter().Set("@Priority", DbType.Int32, value.Priority), new _DbParameter().Set("@Show", DbType.Int32, value.Show ? 1 : 0) }; conn.ExecuteNonQuery("INSERT INTO [MyTag] ([Key], [Intro], [Code], [Publish], [Priority], [Show]) VALUES (@Key, @Intro, @Code, @Publish, @Priority, @Show)", pars); id = Convert.ToInt32(conn.ExecuteNewField("[MyTag]", null, null)); return id; }
/// <summary> /// 取得自定义标签 /// </summary> /// <param name="id">自定义标签编号</param> /// <returns>返回自定义标签数据</returns> public MyTagItem GetMyTag(int id) { MyTagItem item = new MyTagItem(); int rows = 0; using (IDataReader reader = conn.ExecutePager("[MyTag]", "[ID], [Key], [Intro], [Code], [Publish], [Priority], [Show]", string.Format("[ID] = {0}", id), null, null, 1, 1, ref rows)) { while (reader.Read()) { item.ID = reader.GetInt32(0); item.Key = reader.GetString(1); item.Intro = reader.GetString(2); item.Code = reader.GetString(3); item.Publish = reader.GetDateTime(4); item.Priority = reader.GetInt32(5); item.Show = reader.GetInt32(6) == 0 ? false : true; } } return item; }
/// <summary> /// 筛选自定义标签 /// </summary> /// <param name="intCurPage">当前页码</param> /// <param name="btePerPage">分页大小</param> /// <param name="selAll">是否在所有数据里筛选</param> /// <returns>返回自定义标签数据列表</returns> public DataList<MyTagItem> SelectMyTag(int intCurPage, int btePerPage, bool selAll) { DataList<MyTagItem> list = new DataList<MyTagItem>(); string sqlWhere = selAll ? string.Empty : "[Show] <> 0"; int rows = 0; using (IDataReader reader = conn.ExecutePager("[MyTag]", "[ID], [Key], [Intro], [Code], [Publish], [Priority], [Show]", sqlWhere, "[Priority]", "ASC", intCurPage, btePerPage, ref rows)) { while (reader.Read()) { MyTagItem item = new MyTagItem(); item.ID = reader.GetInt32(0); item.Key = reader.GetString(1); item.Intro = reader.GetString(2); item.Code = reader.GetString(3); item.Publish = reader.GetDateTime(4); item.Priority = reader.GetInt32(5); item.Show = reader.GetInt32(6) == 0 ? false : true; list.Add(item); } } list.Number = rows; return list; }
/// <summary> /// 修改一个自定义标签 /// </summary> /// <param name="value">自定义标签数据</param> /// <returns>返回被修改的自定义标签编号</returns> public int UpdateMyTag(MyTagItem value) { int id = 0; _DbParameter[] pars ={ new _DbParameter().Set("@Key", DbType.String, value.Key), new _DbParameter().Set("@Intro", DbType.String, value.Intro), new _DbParameter().Set("@Code", DbType.String, value.Code), new _DbParameter().Set("@Publish", DbType.String, value.Publish.ToString("yyyy-MM-dd HH:mm:ss")), new _DbParameter().Set("@Priority", DbType.Int32, value.Priority), new _DbParameter().Set("@Show", DbType.Int32, value.Show ? 1 : 0), new _DbParameter().Set("@ID", DbType.Int32, value.ID) }; conn.ExecuteNonQuery("UPDATE [MyTag] SET [Key] = @Key, [Intro] = @Intro, [Code] = @Code, [Publish] = @Publish, [Priority] = @Priority, [Show] = @Show WHERE [ID] = @ID", pars); id = value.ID; return id; }
/// <summary> /// 提交页面窗体 /// </summary> /// <returns>返回发布页面控件代码</returns> public string Post() { StringBuilder sr = new StringBuilder(); int id = SiteFun.ToInt(SiteFun.Query("id")); MyTagData mtData = new MyTagData(conn); if (SiteFun.IsPost) { MyTagItem postVal = new MyTagItem(); postVal.ID = id; postVal.Key = SiteFun.Post("key"); postVal.Intro = SiteFun.Post("intro"); postVal.Code = SiteFun.Post("code"); postVal.Publish = SiteFun.ToDate(SiteFun.Post("publish")); postVal.Priority = SiteFun.ToInt(SiteFun.Post("priority")); postVal.Show = SiteFun.ToInt(SiteFun.Post("show")) == 0 ? false : true; if (string.IsNullOrEmpty(postVal.Key)) { sr.Append(AdminUI.ErrorBox(SiteDat.GetLan("MsgNoKey"))); } else { if (postVal.ID == 0) { mtData.InsertMyTag(postVal); sr.Append(AdminUI.SuccessBox(SiteDat.GetLan("MsgInsertDat"), "?act=myTag&mode=list")); } else { mtData.UpdateMyTag(postVal); sr.Append(AdminUI.SuccessBox(SiteDat.GetLan("MsgUpdateDat"), "?act=myTag&mode=list")); } } ClearCache(); } //取得默认值 MyTagItem old = mtData.GetMyTag(id); sr.Append(AdminUI.AdminBoxStart(true)); sr.Append(HtmlUI.FormStart()); sr.Append(HtmlUI.TableStart("onCenter")); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Key")) + HtmlUI.CreateTd(HtmlUI.Input("key", 20, null, SiteFun.HtmlEncode(old.Key)))); sr.Append(HtmlUI.TrFinal()); if (old.ID > 0) { sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh() + HtmlUI.CreateTd(SiteFun.HtmlEncode(string.Format("<xsl:value-of select=\"/ui/myTag/{0}\" disable-output-escaping=\"yes\"/>", old.Key)))); sr.Append(HtmlUI.TrFinal()); } sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Intro")) + HtmlUI.CreateTd(HtmlUI.Input("intro", 50, null, SiteFun.HtmlEncode(old.Intro)))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Content")) + HtmlUI.CreateTd(HtmlUI.Textarea("code", 15, 80, SiteFun.HtmlEncode(old.Code)))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("DateTime")) + HtmlUI.CreateTd(HtmlUI.Input("publish", 20, null, old.Publish))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Priority")) + HtmlUI.CreateTd(HtmlUI.Input("priority", 5, null, old.Priority))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Virtue")) + HtmlUI.CreateTd(HtmlUI.CheckBoxInput(SiteDat.GetLan("Show"), "show", 1, old.Show))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh() + HtmlUI.CreateTd(HtmlUI.SubmitButton() + HtmlUI.ResetButton())); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TableFinal()); sr.Append(HtmlUI.FormFinal()); sr.Append(AdminUI.AdminBoxFinal()); return sr.ToString(); }