123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Security.Cryptography.X509Certificates;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using CB.Common;
- using CB.Config;
- using CB.Data;
- using CB.Entity;
- using CB.Framework;
- namespace CB.Admin.Plugins.Template
- {
- public partial class TemplateList : AdminPage
- {
- private IList<TemplateTypeInfo> TemplateTypeList;
- protected void Page_Load(object sender, EventArgs e)
- {
- TemplateTypeList = TemplateTypeService.ToList();
- if (!Page.IsPostBack)
- {
- InitData();
- }
- }
- protected override void InitData()
- {
- BindRepeaterList();
- }
- protected void btnSearch_Click(object sender, EventArgs e)
- {
- BindRepeaterList();
- }
- protected override void BindRepeaterList()
- {
- int recordCount;
- repeaterList.DataSource = null;
- var list = CB.Data.TemplateService.ToPaging(new Entity.TemplateInfo() { Name = txttypename.Text.Trim() }, AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, out recordCount);
- repeaterList.DataSource = list;
- repeaterList.DataBind();
- AspNetPager1.RecordCount = recordCount;
- //模板类型绑定
- BindTemplateType();
- //模板路径选择绑定
- BindTemplatePageRoot();
- }
- protected void repeaterList_ItemCommand(object source, RepeaterCommandEventArgs e)
- {
- if ("dndel" == e.CommandName)
- {
- if (CB.Data.TemplateService.Delete(TypeConverter.ObjectToInt(e.CommandArgument)))
- Logs("删除模板成功", string.Format("模板[ID={0}]", e.CommandArgument));
- BindRepeaterList();
- }
- if ("edit" == e.CommandName)
- {
- Entity.TemplateInfo entity = CB.Data.TemplateService.Get(TypeConverter.ObjectToInt(e.CommandArgument));
- if (null == entity)
- return;
- labID.Text = entity.Id.ToString();
- txtName.Text = entity.Name;
- txtFilePath.Text = entity.FilePath;
- ddlMethodType.SelectedValue = ((int)entity.MethodType).ToString();
- ddlTemplateTypeId.SelectedValue = entity.TemplateType.ToString();
- txtDescript.Text = entity.Descript;
- }
- if ("Publishing" == e.CommandName)
- {
- var entity = CB.Data.TemplateService.Get(TypeConverter.ObjectToInt(e.CommandArgument));
- if (null == entity)
- return;
- CB.Data.TemplateFiles.LoadFile(entity.FilePath);
- ShowMessageBox("发布成功!");
- }
- }
- protected void AspNetPager1_PageChanged(object sender, EventArgs e)
- {
- BindRepeaterList();
- }
- //修改或者保存
- protected void btnEdit_Click(object sender, EventArgs e)
- {
- CB.Entity.TemplateInfo entity = new CB.Entity.TemplateInfo();
- entity.Id = labID.Text.ToInt();
- entity.Name = txtName.Text.Trim();
- entity.FilePath = txtFilePath.Text.Trim();
- entity.MethodType = (TemplateMethodType)Enum.Parse(typeof(TemplateMethodType), ddlMethodType.SelectedValue.Trim());
- entity.TemplateType = ddlTemplateTypeId.SelectedValue.ToInt();
- entity.Descript = txtDescript.Text.Trim();
- Tuple<bool, string> validate = DataValidate(entity);
- if (validate.Item1) //通过验证
- {
- if (labID.Text != "") //修改
- {
- if (TemplateService.Update(entity))
- {
- Logs("修改模板成功", string.Format("修改模板成功[ID={0}]", entity.Id));
- ShowMessageBox("提示:修改成功!", string.Format("TemplateList.aspx?authPage={0}", authPage));
- }
- }
- else //新增
- {
- if (TemplateService.Save(entity))
- {
- Logs("新增模板成功", string.Format("新增模板成功[Name={0}]", entity.Name));
- ShowMessageBox("提示:新增成功!", string.Format("TemplateList.aspx?authPage={0}", authPage));
- }
- }
- ClearPage();
- }
- else
- {
- Response.Write(string.Format("<script>alert('{0}');window.opener.location.href=window.opener.location.href;</script>", validate.Item2));
- }
- BindRepeaterList();
- }
- //数据验证
- public Tuple<bool, string> DataValidate(Entity.TemplateInfo Entity)
- {
- if (txtName.Text.Trim().Trim() == "")
- return new Tuple<bool, string>(false, "请输入模板名称!");
- if (txtFilePath.Text.Trim().Trim() == "")
- return new Tuple<bool, string>(false, "请输入模板路径!");
- if (ddlTemplateTypeId.SelectedValue == "-1")
- return new Tuple<bool, string>(false, "请选择模板类型!");
- return new Tuple<bool, string>(true, "验证通过!");
- }
- //清空
- protected void btnClear_Click(object sender, EventArgs e)
- {
- ClearPage();
- }
- //清空界面数据
- protected void ClearPage()
- {
- labID.Text = "";
- txtName.Text = "";
- txtFilePath.Text = "";
- ddlTemplateTypeId.SelectedValue = "-1";
- txtDescript.Text = "";
- }
- protected void BindTemplateType()
- {
- ddlTemplateTypeId.Items.Clear();
- ddlTemplateTypeId.Items.Add(new ListItem("==请选择==", "-1"));
- foreach (var item in TemplateTypeList)
- {
- ddlTemplateTypeId.Items.Add(new ListItem(item.Name, item.Id.ToString()));
- }
- }
- protected string BindMethodType(int i)
- {
- if (1 == i)
- return "替换型";
- if (2 == i)
- return "解释型";
- return "纯文本型";
- }
- protected string BindTemplateType(int i)
- {
- foreach (var item in TemplateTypeList)
- {
- if (item.Id == i)
- {
- return item.Name;
- }
- }
- return "";
- }
- protected void BindTemplatePageRoot()
- {
- string root = BaseConfigs.GetConfig().TemplateRootPath;
- litPrivilege.Text = "";
- StringBuilder sp = new StringBuilder(2000);
- sp.Append("<ul>");
- sp.AppendFormat("<li tname=\"-1\" class=\"jstree-open\" tvalue=\"{0}\"><a>{1}</a>", 0, "模板文件");
- NodeUpdate(root, ref sp);
- sp.Append("</li>");
- sp.Append("</ul>");
- litPrivilege.Text = sp.ToString();
- }
- /// <summary>
- /// 更新TreeView下的节点(列出当前目录下的子目录)
- /// </summary>
- /// <param name="node">上层节点</param>
- public void NodeUpdate(string root, ref StringBuilder sp)
- {
- try
- {
- sp.Append("<ul>");
- //获得指定节点目录的目录对象
- DirectoryInfo dir = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + root);
- //遍历该目录下的所有目录
- foreach (DirectoryInfo d in dir.GetDirectories())
- {
- sp.AppendFormat("<li tname=\"-1\" class=\"jstree-icon jstree-last jstree-leaf jstree-unchecked \" tvalue=\"{0}\"><a>{1}</a>", RelationRoot(root + "\\" + d.Name), d.Name); //向指定节点下添加文件目录节点
- NodeUpdate(root + "\\" + d.Name, ref sp); //递归
- sp.AppendFormat("</li>");
- }
- //遍历该目录下的所有文件
- foreach (FileInfo f in dir.GetFiles())
- {
- sp.AppendFormat("<li tname=\"-1\" class=\"jstree-icon jstree-last jstree-leaf jstree-unchecked \" tvalue=\"{0}\"><a>{1}</a></li>", RelationRoot(root + "\\" + f.Name), f.Name); ; //向指定节点下添加文件节点
- }
- sp.Append("</ul>");
- }
- catch { }
- }
- public string RelationRoot(string rootpage)
- {
- string root = BaseConfigs.GetConfig().TemplateRootPath;
- return rootpage.Replace(root, "");
- }
- }
- }
|