예제 #1
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            if (_templateType != TemplateType.ChannelTemplate)
            {
                if (!TbCreatedFileFullName.Text.StartsWith("~") && !TbCreatedFileFullName.Text.StartsWith("@"))
                {
                    TbCreatedFileFullName.Text = PageUtils.Combine("@", TbCreatedFileFullName.Text);
                }
            }
            else
            {
                TbCreatedFileFullName.Text = TbCreatedFileFullName.Text.TrimStart('~', '@');
                TbCreatedFileFullName.Text = TbCreatedFileFullName.Text.Replace("/", string.Empty);
            }

            if (AuthRequest.GetQueryInt("TemplateID") > 0 && _isCopy == false)
            {
                var templateId   = AuthRequest.GetQueryInt("TemplateID");
                var templateInfo = TemplateManager.GetTemplateInfo(SiteId, templateId);
                if (templateInfo.TemplateName != TbTemplateName.Text)
                {
                    var templateNameList = DataProvider.TemplateDao.GetTemplateNameList(SiteId, templateInfo.TemplateType);
                    if (templateNameList.IndexOf(TbTemplateName.Text) != -1)
                    {
                        FailMessage("模板修改失败,模板名称已存在!");
                        return;
                    }
                }
                TemplateInfo previousTemplateInfo = null;
                var          isChanged            = false;
                if (PathUtils.RemoveExtension(templateInfo.RelatedFileName) != PathUtils.RemoveExtension(TbRelatedFileName.Text))        //文件名改变
                {
                    var fileNameList = DataProvider.TemplateDao.GetLowerRelatedFileNameList(SiteId, templateInfo.TemplateType);
                    foreach (var fileName in fileNameList)
                    {
                        var fileNameWithoutExtension = PathUtils.RemoveExtension(fileName);
                        if (fileNameWithoutExtension == TbRelatedFileName.Text.ToLower())
                        {
                            FailMessage("模板修改失败,模板文件已存在!");
                            return;
                        }
                    }

                    isChanged = true;
                }

                if (GetTemplateFileExtension(templateInfo) != DdlCreatedFileExtName.SelectedValue)        //文件后缀改变
                {
                    isChanged = true;
                }

                if (isChanged)
                {
                    previousTemplateInfo = new TemplateInfo(templateInfo.Id, templateInfo.SiteId, templateInfo.TemplateName, templateInfo.TemplateType, templateInfo.RelatedFileName, templateInfo.CreatedFileFullName, templateInfo.CreatedFileExtName, templateInfo.Charset, templateInfo.IsDefault);
                }

                templateInfo.TemplateName        = TbTemplateName.Text;
                templateInfo.RelatedFileName     = TbRelatedFileName.Text + DdlCreatedFileExtName.SelectedValue;
                templateInfo.CreatedFileExtName  = DdlCreatedFileExtName.SelectedValue;
                templateInfo.CreatedFileFullName = TbCreatedFileFullName.Text + DdlCreatedFileExtName.SelectedValue;
                templateInfo.Charset             = ECharsetUtils.GetEnumType(DdlCharset.SelectedValue);

                DataProvider.TemplateDao.Update(SiteInfo, templateInfo, TbContent.Text, AuthRequest.AdminName);
                if (previousTemplateInfo != null)
                {
                    FileUtils.DeleteFileIfExists(TemplateManager.GetTemplateFilePath(SiteInfo, previousTemplateInfo));
                }
                CreatePages(templateInfo);

                AuthRequest.AddSiteLog(SiteId,
                                       $"修改{TemplateTypeUtils.GetText(templateInfo.TemplateType)}",
                                       $"模板名称:{templateInfo.TemplateName}");

                SuccessMessage("模板修改成功!");
            }
            else
            {
                var templateNameList = DataProvider.TemplateDao.GetTemplateNameList(SiteId, TemplateTypeUtils.GetEnumType(HihTemplateType.Value));
                if (templateNameList.IndexOf(TbTemplateName.Text) != -1)
                {
                    FailMessage("模板添加失败,模板名称已存在!");
                    return;
                }
                var fileNameList = DataProvider.TemplateDao.GetLowerRelatedFileNameList(SiteId, TemplateTypeUtils.GetEnumType(HihTemplateType.Value));
                if (fileNameList.IndexOf(TbRelatedFileName.Text.ToLower()) != -1)
                {
                    FailMessage("模板添加失败,模板文件已存在!");
                    return;
                }

                var templateInfo = new TemplateInfo
                {
                    SiteId              = SiteId,
                    TemplateName        = TbTemplateName.Text,
                    TemplateType        = TemplateTypeUtils.GetEnumType(HihTemplateType.Value),
                    RelatedFileName     = TbRelatedFileName.Text + DdlCreatedFileExtName.SelectedValue,
                    CreatedFileExtName  = DdlCreatedFileExtName.SelectedValue,
                    CreatedFileFullName = TbCreatedFileFullName.Text + DdlCreatedFileExtName.SelectedValue,
                    Charset             = ECharsetUtils.GetEnumType(DdlCharset.SelectedValue),
                    IsDefault           = false
                };

                templateInfo.Id = DataProvider.TemplateDao.Insert(templateInfo, TbContent.Text, AuthRequest.AdminName);
                CreatePages(templateInfo);
                AuthRequest.AddSiteLog(SiteId,
                                       $"添加{TemplateTypeUtils.GetText(templateInfo.TemplateType)}",
                                       $"模板名称:{templateInfo.TemplateName}");
                SuccessMessage("模板添加成功!");
                AddWaitAndRedirectScript(PageTemplate.GetRedirectUrl(SiteId));
            }
        }
예제 #2
0
 public void Return_OnClick(object sender, EventArgs e)
 {
     PageUtils.Redirect(PageTemplate.GetRedirectUrl(SiteId, _templateType));
 }
예제 #3
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (Page.IsPostBack && Page.IsValid)
            {
                if (_theTemplateType != ETemplateType.ChannelTemplate)
                {
                    if (!CreatedFileFullName.Text.StartsWith("~") && !CreatedFileFullName.Text.StartsWith("@"))
                    {
                        CreatedFileFullName.Text = PageUtils.Combine("@", CreatedFileFullName.Text);
                    }
                }
                else
                {
                    CreatedFileFullName.Text = CreatedFileFullName.Text.TrimStart('~', '@');
                    CreatedFileFullName.Text = CreatedFileFullName.Text.Replace("/", string.Empty);
                }

                if (Body.GetQueryInt("TemplateID") > 0 && _isCopy == false)
                {
                    var templateId   = Body.GetQueryInt("TemplateID");
                    var templateInfo = TemplateManager.GetTemplateInfo(PublishmentSystemId, templateId);
                    if (templateInfo.TemplateName != TemplateName.Text)
                    {
                        var templateNameArrayList = DataProvider.TemplateDao.GetTemplateNameArrayList(PublishmentSystemId, templateInfo.TemplateType);
                        if (templateNameArrayList.IndexOf(TemplateName.Text) != -1)
                        {
                            FailMessage("模板修改失败,模板名称已存在!");
                            return;
                        }
                    }
                    TemplateInfo previousTemplateInfo = null;
                    var          isChanged            = false;
                    if (PathUtils.RemoveExtension(templateInfo.RelatedFileName) != PathUtils.RemoveExtension(RelatedFileName.Text))//文件名改变
                    {
                        var fileNameArrayList = DataProvider.TemplateDao.GetLowerRelatedFileNameArrayList(PublishmentSystemId, templateInfo.TemplateType);
                        foreach (string fileName in fileNameArrayList)
                        {
                            var fileNameWithoutExtension = PathUtils.RemoveExtension(fileName);
                            if (fileNameWithoutExtension == RelatedFileName.Text.ToLower())
                            {
                                FailMessage("模板修改失败,模板文件已存在!");
                                return;
                            }
                        }

                        isChanged = true;
                    }

                    if (GetTemplateFileExtension(templateInfo) != CreatedFileExtNameDropDownList.SelectedValue)//文件后缀改变
                    {
                        isChanged = true;
                    }

                    if (isChanged)
                    {
                        previousTemplateInfo = new TemplateInfo(templateInfo.TemplateId, templateInfo.PublishmentSystemId, templateInfo.TemplateName, templateInfo.TemplateType, templateInfo.RelatedFileName, templateInfo.CreatedFileFullName, templateInfo.CreatedFileExtName, templateInfo.Charset, templateInfo.IsDefault);
                    }

                    templateInfo.TemplateName        = TemplateName.Text;
                    templateInfo.RelatedFileName     = RelatedFileName.Text + CreatedFileExtNameDropDownList.SelectedValue;
                    templateInfo.CreatedFileExtName  = CreatedFileExtNameDropDownList.SelectedValue;
                    templateInfo.CreatedFileFullName = CreatedFileFullName.Text + CreatedFileExtNameDropDownList.SelectedValue;
                    templateInfo.Charset             = ECharsetUtils.GetEnumType(Charset.SelectedValue);
                    try
                    {
                        DataProvider.TemplateDao.Update(PublishmentSystemInfo, templateInfo, Content.Text, Body.AdministratorName);
                        if (previousTemplateInfo != null)
                        {
                            FileUtils.DeleteFileIfExists(TemplateManager.GetTemplateFilePath(PublishmentSystemInfo, previousTemplateInfo));
                        }
                        CreatePages(templateInfo);

                        Body.AddSiteLog(PublishmentSystemId,
                                        $"修改{ETemplateTypeUtils.GetText(templateInfo.TemplateType)}",
                                        $"模板名称:{templateInfo.TemplateName}");

                        SuccessMessage("模板修改成功!");
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "模板修改失败," + ex.Message);
                    }
                }
                else
                {
                    var templateNameArrayList = DataProvider.TemplateDao.GetTemplateNameArrayList(PublishmentSystemId, ETemplateTypeUtils.GetEnumType(TemplateType.Value));
                    if (templateNameArrayList.IndexOf(TemplateName.Text) != -1)
                    {
                        FailMessage("模板添加失败,模板名称已存在!");
                        return;
                    }
                    var fileNameArrayList = DataProvider.TemplateDao.GetLowerRelatedFileNameArrayList(PublishmentSystemId, ETemplateTypeUtils.GetEnumType(TemplateType.Value));
                    if (fileNameArrayList.IndexOf(RelatedFileName.Text.ToLower()) != -1)
                    {
                        FailMessage("模板添加失败,模板文件已存在!");
                        return;
                    }

                    var templateInfo = new TemplateInfo();
                    templateInfo.PublishmentSystemId = PublishmentSystemId;
                    templateInfo.TemplateName        = TemplateName.Text;
                    templateInfo.TemplateType        = ETemplateTypeUtils.GetEnumType(TemplateType.Value);

                    templateInfo.RelatedFileName     = RelatedFileName.Text + CreatedFileExtNameDropDownList.SelectedValue;
                    templateInfo.CreatedFileExtName  = CreatedFileExtNameDropDownList.SelectedValue;
                    templateInfo.CreatedFileFullName = CreatedFileFullName.Text + CreatedFileExtNameDropDownList.SelectedValue;
                    templateInfo.Charset             = ECharsetUtils.GetEnumType(Charset.SelectedValue);
                    templateInfo.IsDefault           = false;
                    try
                    {
                        templateInfo.TemplateId = DataProvider.TemplateDao.Insert(templateInfo, Content.Text, Body.AdministratorName);
                        CreatePages(templateInfo);
                        Body.AddSiteLog(PublishmentSystemId,
                                        $"添加{ETemplateTypeUtils.GetText(templateInfo.TemplateType)}",
                                        $"模板名称:{templateInfo.TemplateName}");
                        SuccessMessage("模板添加成功!");
                        AddWaitAndRedirectScript(PageTemplate.GetRedirectUrl(PublishmentSystemId));
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "模板添加失败," + ex.Message);
                    }
                }
            }
        }