protected void LoadLinkSuggestionList()
    {
        DateTime   fromDate;
        DateTime   untilDate;
        List <int> linkSuggestionRefList = GetPostCollection("SuggestionCheckBox");

        try
        {
            fromDate  = DateHandler.ParseDateString(FromDateTextBox.Text);
            untilDate = DateHandler.ParseDateString(UntilDateTextBox.Text);
        }
        catch { return; }
        using (var db = CLinq.DataContext.Create())
        {
            var linkSuggestionQuery =
                from ls in db.LinkSuggestions
                where ls.LinkSuggestionDate.Date <= untilDate && ls.LinkSuggestionDate.Date >= fromDate
                select new
            {
                ls.LinkSuggestionRef,
                ls.LinkUrl,
                ls.Description,
                ls.Category.CategoryName,
                ls.User.UserName,
                ls.LinkSuggestionDate,
                IsChecked = linkSuggestionRefList.Contains(ls.LinkSuggestionRef)
            };

            LinkSuggestionList.DataSource = linkSuggestionQuery.ToList();;
            LinkSuggestionList.DataBind();
        }
    }
    private void LoadLinkList()
    {
        DateTime   fromDate;
        DateTime   untilDate;
        List <int> selectedLinkRefList = GetPostCollection("LinkSelectionCheckBox");

        try
        {
            fromDate  = DateHandler.ParseDateString(FromDateTextBox.Text);
            untilDate = DateHandler.ParseDateString(UntilDateTextBox.Text);
        }
        catch { return; }

        using (var db = CLinq.DataContext.Create())
        {
            var linkQuery =
                from li in db.Links
                where li.LinkDate.Date >= fromDate && li.LinkDate.Date <= untilDate
                orderby li.LinkDate descending
                select new
            {
                li.LinkRef,
                li.LinkName,
                li.LinkDate,
                li.CategoryRef,
                CategoryName = li.Category.CategoryName,
                UserName     = li.UserRef != null ? li.User.UserName : "",
                li.LinkUrl,
                li.Clicks,
                li.Rating,
                IsChecked = selectedLinkRefList.Contains(li.LinkRef)
            };

            LinkList.DataSource = linkQuery.ToList();
            LinkList.DataBind();
        }
    }
    protected void EditOkButton_Clicked(object sender, EventArgs e)
    {
        if (SelectedView == ViewMode.LinkSuggestion)
        {
            int linkSuggestionRef;
            if (this.ViewState["EditLinkSuggestionRef"] is int)
            {
                linkSuggestionRef = (int)this.ViewState["EditLinkSuggestionRef"];
                LinkSuggestion linkSuggestion = LinkSuggestion.GetOne(linkSuggestionRef);
                linkSuggestion.Description = LinkSuggestionDescriptionTextBox.Text;
                linkSuggestion.LinkUrl     = LinkSuggestionUrlTextBox.Text;
                linkSuggestion.CategoryRef = int.Parse(LinkSuggestionCategoryDropdownList.SelectedValue);
                linkSuggestion.Save();

                this.ViewState.Remove("EditLinkSuggestionRef");
            }
        }
        else if (SelectedView == ViewMode.LinkAdministration)
        {
            int linkRef;
            if (this.ViewState["EditLinkRef"] is int)
            {
                linkRef = (int)this.ViewState["EditLinkRef"];
                DateTime linkDate;
                DateTime linkTime;
                int      categoryRef, clicks;
                int?     userRef = null;
                double   rating;

                try
                {
                    linkDate = DateHandler.ParseDateString(LinkDateTextBox.Text);
                    linkTime = DateHandler.ParseTimeString(LinkTimeTextBox.Text);
                    linkDate = linkDate.Add(linkTime.TimeOfDay);

                    categoryRef = int.Parse(LinkCategoryDropdownList.SelectedValue);
                    clicks      = int.Parse(LinkClicksTextBox.Text);
                    rating      = double.Parse(LinkRatingTextBox.Text);
                    userRef     = int.Parse(LinkUserDropDownList.SelectedValue);
                    if (userRef == 0)
                    {
                        userRef = null;
                    }
                }
                catch { return; }

                Link link;
                if (linkRef > 0)
                {
                    link = Link.GetOne(linkRef);
                }
                else
                {
                    link = new Link();
                }
                if (link == null)
                {
                    return;
                }

                link.CategoryRef = categoryRef;
                link.Clicks      = clicks;
                link.LinkDate    = linkDate;
                link.LinkName    = LinkNameTextBox.Text;
                link.LinkUrl     = LinkUrlTextBox.Text;
                link.Rating      = rating;
                link.UserRef     = userRef;

                link.Save();

                this.ViewState.Remove("EditLinkRef");
            }
        }
        EditLinkSuggestionPanel.Visible = false;
        EditLinkPanel.Visible           = false;
        base.HideModalBackground();
    }