private void LoadSettings()
        {
            MasterDetailSetting settings = MasterDetailSetting.FetchByID(this.ModuleId);

            IsPostDateVisible.Checked       = settings.IsPostDateVisible;
            txtItemsPerPage.Text            = settings.ItemsPerPage.ToString();
            cbRequireAuthentication.Checked = settings.RequireAuthentication;
            cbAllowComments.Checked         = settings.AllowComments;
            cbTagFilter.Checked             = settings.ShowTagFilter;
            cbShowImageIfBlank.Checked      = settings.ShowImageIfBlank;

            // Load list of templates
            dlTemplateList.DataSource = BayshoreSolutions.WebModules.WebDirectories.GetTemplates();
            dlTemplateList.DataBind();
            if (string.IsNullOrEmpty(settings.Template))
            {
                var _instanceId = int.Parse(Request.QueryString["InstanceId"]);
                var _page       = Webpage.GetWebpage(_instanceId);

                dlTemplateList.SelectedValue = _page.TemplateGroup + " - " + _page.Template;
            }
            else
            {
                dlTemplateList.SelectedValue = settings.Template;
            }

            ModuleTemplate = dlTemplateList.SelectedValue;
        }
        override protected void EnsureModule()
        {
            MasterDetailSetting module = MasterDetailSetting.FetchByID(this.ModuleId);

            if (null == module)
            {
                module          = new MasterDetailSetting();
                module.ModuleId = this.ModuleId;
                module.Save();
            }
        }
        private void LoadData()
        {
            _itemList = MasterDetailSetting.FetchByID(this.ModuleId);

            string tagFilter = ddlFilter.SelectedValue;

            if (!string.IsNullOrEmpty(tagFilter) && tagFilter == "All")
            {
                tagFilter = null;
            }
            PagedDataSource pgitems = new PagedDataSource();

            pgitems.AllowPaging = true;
            pgitems.DataSource  = MasterDetailList.GetMasterDetailChildrenFiltered(this.ModuleId, true, true, tagFilter, true);
            //			pgitems.DataSource = SPs.MasterDetailGetRecentItems(this.Page.ID.ToString(), 10).GetDataSet();
            pgitems.PageSize         = _itemList.ItemsPerPage;
            pgitems.CurrentPageIndex = PageNumber;

            if (pgitems.PageCount > 1)
            {
                PagerRepeater.Visible = true;
                ArrayList pages = new ArrayList();
                for (int i = 0; i < pgitems.PageCount; i++)
                {
                    pages.Add((i + 1).ToString());
                }
                PagerRepeater.DataSource = pages;
                PagerRepeater.DataBind();
            }
            else
            {
                PagerRepeater.Visible = false;
            }

            // Clear taglist
            TagList = new ArrayList();

            SummaryListRepeater.DataSource = pgitems;
            SummaryListRepeater.DataBind();

            if (_itemList.ShowTagFilter && (ddlFilter.Items.Count == 0))
            {
                lblFilter.Visible = true;
                ddlFilter.Visible = true;

                TagList.Sort();
                TagList.Insert(0, "All");
                ddlFilter.DataSource = TagList;
                ddlFilter.DataBind();
            }
        }
        protected void MasterDetail_List_SaveButton_Click(object sender, EventArgs e)
        {
            MasterDetailSetting settings = MasterDetailSetting.FetchByID(this.ModuleId);

            settings.IsPostDateVisible     = IsPostDateVisible.Checked;
            settings.ItemsPerPage          = int.Parse(txtItemsPerPage.Text);
            settings.RequireAuthentication = cbRequireAuthentication.Checked;
            settings.AllowComments         = cbAllowComments.Checked;
            settings.ShowTagFilter         = cbTagFilter.Checked;
            settings.ShowImageIfBlank      = cbShowImageIfBlank.Checked;
            settings.Template = ModuleTemplate = dlTemplateList.SelectedValue;
            settings.Save();
            Msg.ShowSuccess("Saved settings.");
        }
        //finds the first content list that "contains" this item, if any.
        public MasterDetailSetting GetContentList()
        {
            WebModuleInfo       module     = WebModule.GetModule(this.ModuleId);
            WebpageInfo         parentPage = module.Webpage.Parent;
            MasterDetailSetting itemList   = null;

            foreach (WebModuleInfo m in parentPage.Modules)
            {
                if (m.WebModuleType == MasterDetailList.ModuleType)
                {
                    itemList = MasterDetailSetting.FetchByID(m.Id);
                    break;
                }
            }

            return(itemList);
        }