Пример #1
0
        internal bool ProcessTag(Control container, Tag tag, ITemplateable templateItem, string resourceFile)
        {
            if (tag.TagType == TagType.Open && tag.LocalName.Equals("BACKHYPERLINK", StringComparison.OrdinalIgnoreCase))
            {
                TemplateEngine.AddControl(container, TemplateEngine.CreateLink(tag, templateItem, this.TemplateProvider.GlobalItem, resourceFile, Globals.NavigateURL()));
            }
            else
            {
                return(this.ProcessCommonTag(container, tag, (Event)templateItem, resourceFile));
            }

            return(true);
        }
Пример #2
0
        private bool ProcessTag(Control container, Tag tag, ITemplateable templateItem, string resourceFile)
        {
            var currentEvent = (Event)templateItem;

            if (tag.TagType == TagType.Open)
            {
                switch (tag.LocalName.ToUpperInvariant())
                {
                case "EVENTSORT":
                    this.SortAction = (SortAction)this.LoadControl(this.ActionsControlsFolder + "SortAction.ascx");
                    this.SortAction.ModuleConfiguration = this.ModuleConfiguration;
                    this.SortAction.LocalResourceFile   = resourceFile;
                    this.SortAction.SortChanged        += this.SortActions_SortChanged;

                    container.Controls.Add(this.SortAction);
                    break;

                case "STATUSFILTER":
                    this.StatusFilterAction = (StatusFilterAction)this.LoadControl(this.ActionsControlsFolder + "StatusFilterAction.ascx");
                    this.StatusFilterAction.ModuleConfiguration = this.ModuleConfiguration;
                    this.StatusFilterAction.LocalResourceFile   = resourceFile;
                    this.StatusFilterAction.SortChanged        += this.SortActions_SortChanged;

                    container.Controls.Add(this.StatusFilterAction);
                    break;

                case "CATEGORYFILTER":
                    this.CategoryFilterAction = (CategoryFilterAction)this.LoadControl(this.ActionsControlsFolder + "CategoryFilterAction.ascx");
                    this.CategoryFilterAction.ModuleConfiguration = this.ModuleConfiguration;
                    this.CategoryFilterAction.LocalResourceFile   = resourceFile;
                    this.CategoryFilterAction.CategoryChanged    += this.CategoryFilter_SortChanged;

                    container.Controls.Add(this.CategoryFilterAction);
                    break;

                case "MULTIPLECATEGORYFILTER":
                    this.MultipleCategoriesFilterAction = (MultipleCategoriesFilterAction)this.LoadControl(this.ActionsControlsFolder + "MultipleCategoriesFilterAction.ascx");
                    this.MultipleCategoriesFilterAction.ModuleConfiguration = this.ModuleConfiguration;
                    this.MultipleCategoriesFilterAction.LocalResourceFile   = resourceFile;
                    this.MultipleCategoriesFilterAction.CategoryChanged    += this.MultipleCategoriesActions_SortChanged;

                    this.MultipleCategoriesFilterAction.DialogPosition    = TemplateEngine.GetAttributeValue(tag, templateItem, this.TemplateProvider.GlobalItem, resourceFile, "DialogPosition", "my");
                    this.MultipleCategoriesFilterAction.ButtonPosition    = TemplateEngine.GetAttributeValue(tag, templateItem, this.TemplateProvider.GlobalItem, resourceFile, "ButtonPosition", "at");
                    this.MultipleCategoriesFilterAction.CollisionBehavior = TemplateEngine.GetAttributeValue(tag, templateItem, this.TemplateProvider.GlobalItem, resourceFile, "CollisionBehavior", "collision");

                    container.Controls.Add(MultipleCategoriesFilterAction);
                    break;

                case "READMORE":
                    var linkUrl = currentEvent != null
                                          ? this.BuildLinkUrl(
                        this.DetailsTabId,
                        this.DetailsModuleId,
                        "EventDetail",
                        Dnn.Events.Utility.GetEventParameters(currentEvent))
                                          : Globals.NavigateURL(this.DetailsTabId);

                    TemplateEngine.AddControl(container, TemplateEngine.CreateLink(tag, templateItem, this.TemplateProvider.GlobalItem, resourceFile, linkUrl));
                    break;

                default:
                    return(this.ProcessCommonTag(container, tag, currentEvent, resourceFile));
                }
            }
            else if (tag.TagType == TagType.Close)
            {
                return(this.ProcessCommonTag(container, tag, currentEvent, resourceFile));
            }

            return(false);
        }