Esempio n. 1
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            MethodBase lmth          = MethodBase.GetCurrentMethod();
            string     lsRoutineName = lmth.DeclaringType + "." + lmth.Name;

            string sMostRecentEventID = "";
            string sPrevSelectedID    = "";

            if ((!IsPostBack) || (_Reload))
            {
                Classes.cUserOptions OptionsLoader = new Classes.cUserOptions();
                OptionsLoader.LoadUserOptions(Session["UserName"].ToString(), HttpContext.Current.Request.Url.AbsolutePath);
                foreach (Classes.cUserOption Option in OptionsLoader.UserOptionList)
                {
                    if ((Option.ObjectName.ToUpper() == "DDLEVENT") &&
                        (Option.ObjectOption.ToUpper() == "SELECTEDEVENT"))
                    {
                        sPrevSelectedID = Option.OptionValue;
                    }
                    else if (Option.ObjectName.ToUpper() == "GVREGISTRATIONS")
                    {
                        if (Option.ObjectOption.ToUpper() == "SORTDIR")
                        {
                            ViewState["SortDir"] = Option.OptionValue;
                        }
                        else if (Option.ObjectOption.ToUpper() == "SORTFIELD")
                        {
                            ViewState["SortField"] = Option.OptionValue;
                        }
                    }
                }

                SortedList sParams = new SortedList();
                sParams.Add("@CampaignID", Master.CampaignID);
                DataTable dtEvents = Classes.cUtilities.LoadDataTable("uspGetCampaignEvents", sParams, "LARPortal", Master.UserName, lsRoutineName + ".uspGetCampaignEvents");

                DataView dvEvents = new DataView(dtEvents, "", "StartDate desc", DataViewRowState.CurrentRows);

                if (dtEvents.Columns ["DisplayValue"] == null)
                {
                    dtEvents.Columns.Add("DisplayValue", typeof(string));
                }

                DateTime dtMostReventEvent = DateTime.MaxValue;

                foreach (DataRow dRow in dtEvents.Rows)
                {
                    DateTime dtTemp;
                    if (DateTime.TryParse(dRow ["StartDate"].ToString(), out dtTemp))
                    {
                        dRow ["DisplayValue"] = dRow ["EventName"].ToString() + " " + dtTemp.ToShortDateString();
                        if ((dtTemp > DateTime.Today) &&
                            (dtTemp <= dtMostReventEvent))
                        {
                            dtMostReventEvent  = dtTemp;
                            sMostRecentEventID = dRow ["EventID"].ToString();
                        }
                    }
                    else
                    {
                        dRow ["DisplayValue"] = dRow ["EventName"].ToString();
                    }
                }

                ddlEvent.DataSource     = dvEvents;
                ddlEvent.DataTextField  = "DisplayValue";
                ddlEvent.DataValueField = "EventID";
                ddlEvent.DataBind();

                if (!String.IsNullOrEmpty(sMostRecentEventID))
                {
                    foreach (ListItem li in ddlEvent.Items)
                    {
                        if (li.Value == sMostRecentEventID)
                        {
                            ddlEvent.ClearSelection();
                            li.Selected = true;
                        }
                    }
                }

                if (!String.IsNullOrEmpty(sPrevSelectedID))
                {
                    foreach (ListItem li in ddlEvent.Items)
                    {
                        if (li.Value == sPrevSelectedID)
                        {
                            ddlEvent.ClearSelection();
                            li.Selected = true;
                        }
                    }
                }

                ddlEvent_SelectedIndexChanged(null, null);
            }
        }
Esempio n. 2
0
        protected void BindData()
        {
            MethodBase lmth          = MethodBase.GetCurrentMethod();
            string     lsRoutineName = lmth.DeclaringType + "." + lmth.Name;

            SortedList sParams = new SortedList();

            sParams.Add("@CampaignID", Master.CampaignID);

            DataTable dtPELs = Classes.cUtilities.LoadDataTable("uspGetPELsToApprove", sParams, "LARPortal", Master.UserName, lsRoutineName + ".uspGetPELsToApprove");

            if (dtPELs.Columns["AddendumImage"] == null)
            {
                dtPELs.Columns.Add("AddendumImage", typeof(string));
            }
            if (dtPELs.Columns["StaffCommentsImages"] == null)
            {
                dtPELs.Columns.Add("StaffCommentsImage", typeof(string));
            }

            foreach (DataRow dRow in dtPELs.Rows)
            {
                if (dRow["Addendum"].ToString() == "Y")
                {
                    dRow["AddendumImage"] = "../img/checkbox.png";
                }
                else
                {
                    dRow["AddendumImage"] = "../img/uncheckbox.png";
                }

                if (dRow["StaffComments"].ToString() == "Y")
                {
                    dRow["StaffCommentsImage"] = "../img/checkbox.png";
                }
                else
                {
                    dRow["StaffCommentsImage"] = "../img/uncheckbox.png";
                }
            }

            string sCharacterNameFilter = "";
            string sEventDateFilter     = "";
            string sEventNameFilter     = "";
            string sPELStatusFilter     = "";
            string sSortField           = "";
            string sSortDir             = "ASC";

            Classes.cUserOptions OptionsLoader = new Classes.cUserOptions();
            OptionsLoader.LoadUserOptions(Session["UserName"].ToString(), HttpContext.Current.Request.Url.AbsolutePath);
            foreach (Classes.cUserOption Option in OptionsLoader.UserOptionList)
            {
                if ((Option.ObjectName.ToUpper() == "DDLCHARACTERNAME") &&
                    (Option.ObjectOption.ToUpper() == "SELECTEDVALUE"))
                {
                    sCharacterNameFilter = Option.OptionValue;
                }
                else if ((Option.ObjectName.ToUpper() == "DDLEVENTDATE") &&
                         (Option.ObjectOption.ToUpper() == "SELECTEDVALUE"))
                {
                    sEventDateFilter = Option.OptionValue;
                }
                else if ((Option.ObjectName.ToUpper() == "DDLEVENTNAME") &&
                         (Option.ObjectOption.ToUpper() == "SELECTEDVALUE"))
                {
                    sEventNameFilter = Option.OptionValue;
                }
                else if ((Option.ObjectName.ToUpper() == "DDLSTATUS") &&
                         (Option.ObjectOption.ToUpper() == "SELECTEDVALUE"))
                {
                    sPELStatusFilter = Option.OptionValue;
                }
                else if ((Option.ObjectName.ToUpper() == "GVPELLIST") &&
                         (Option.ObjectOption.ToUpper() == "SORTFIELD"))
                {
                    sSortField = Option.OptionValue;
                }
                else if ((Option.ObjectName.ToUpper() == "GVPELLIST") &&
                         (Option.ObjectOption.ToUpper() == "SORTDIR"))
                {
                    sSortDir = Option.OptionValue;
                }
            }

            if (sSortField.Length == 0)
            {
                sSortField = "PELStatus";
                Classes.cUserOption Option = new Classes.cUserOption();
                Option.SaveOptionValue(Session["UserName"].ToString(), HttpContext.Current.Request.Url.AbsolutePath, "gvPELList", "SortField", sSortField, "");
            }

            foreach (DataRow dRow in dtPELs.Rows)
            {
                if (dRow["RoleAlignment"].ToString() != "PC")
                {
                    dRow["CharacterAKA"] = dRow["RoleAlignment"].ToString();
                }
            }

            // While creating the filter am also saving the selected values so we can go back and have the drop down list use them.
            string sRowFilter = "(1 = 1)";      // This is so it's easier to build the filter string. Now can always say 'and ....'

            if (sCharacterNameFilter.Length > 0)
            {
                sRowFilter += " and (CharacterAKA = '" + sCharacterNameFilter.Replace("'", "''") + "')";
            }

            if (sEventDateFilter.Length > 0)
            {
                sRowFilter += " and (EventStartDate = '" + sEventDateFilter + "')";
            }

            if (sEventNameFilter.Length > 0)
            {
                sRowFilter += " and (EventName = '" + sEventNameFilter.Replace("'", "''") + "')";
            }

            if (sPELStatusFilter.Length > 0)
            {
                sRowFilter += " and (PELStatus = '" + sPELStatusFilter.Replace("'", "''") + "')";
            }



            DataView dvPELs = new DataView(dtPELs);

            try
            {
                dvPELs.RowFilter = sRowFilter;
            }
            catch (Exception ex)
            {
                // Means there was something wrong - probably somebody mucked with the filter to we are going to clear the row filter.
                sRowFilter = "";
            }

            try
            {
                string sSortString = sSortField + " " + sSortDir;
                if (sSortField.ToUpper().StartsWith("PELSTATUS"))
                {
                    sSortString += ", DateSubmitted";
                }
                dvPELs.Sort = sSortString;
            }
            catch (Exception ex)
            {
                // Means there was something wrong - probably somebody mucked with the sort order to we are going to clear the row filter.
                sSortField = "";
                sSortDir   = "";
            }

            dvPELs.RowStateFilter = DataViewRowState.CurrentRows;

            gvPELList.DataSource = dvPELs;
            gvPELList.DataBind();

            // Now get the list of event names so the person can filter on it.
            DataView  view             = new DataView(dtPELs, sRowFilter, "EventName", DataViewRowState.CurrentRows);
            DataTable dtDistinctEvents = view.ToTable(true, "EventName");

            ddlEventName.DataSource     = dtDistinctEvents;
            ddlEventName.DataTextField  = "EventName";
            ddlEventName.DataValueField = "EventName";
            ddlEventName.DataBind();
            ddlEventName.Items.Insert(0, new ListItem("No Filter", ""));
            ddlEventName.SelectedIndex = -1;
            if (sEventNameFilter.Length > 0)
            {
                foreach (ListItem li in ddlEventName.Items)
                {
                    if (li.Value == sEventNameFilter)
                    {
                        ddlEventName.ClearSelection();
                        li.Selected = true;
                    }
                    else
                    {
                        li.Selected = false;
                    }
                }
            }
            if (ddlEventName.SelectedIndex == -1)     // Didn't find what was selected.
            {
                ddlEventName.SelectedIndex = 0;
            }

            view = new DataView(dtPELs, sRowFilter, "CharacterAKA", DataViewRowState.CurrentRows);
            DataTable dtDistinctChars = view.ToTable(true, "CharacterAKA");

            ddlCharacterName.DataSource     = dtDistinctChars;
            ddlCharacterName.DataTextField  = "CharacterAKA";
            ddlCharacterName.DataValueField = "CharacterAKA";
            ddlCharacterName.DataBind();
            ddlCharacterName.Items.Insert(0, new ListItem("No Filter", ""));
            ddlCharacterName.SelectedIndex = -1;
            if (sCharacterNameFilter.Length > 0)
            {
                foreach (ListItem li in ddlCharacterName.Items)
                {
                    if (li.Value == sCharacterNameFilter)
                    {
                        ddlCharacterName.ClearSelection();
                        li.Selected = true;
                    }
                    else
                    {
                        li.Selected = false;
                    }
                }
            }
            if (ddlCharacterName.SelectedIndex == -1)     // Didn't find what was selected.
            {
                ddlCharacterName.SelectedIndex = 0;
            }

            view = new DataView(dtPELs, sRowFilter, "EventStartDate", DataViewRowState.CurrentRows);
            DataTable dtDistinctDates = view.ToTable(true, "EventStartDateStr");

            ddlEventDate.DataSource     = dtDistinctDates;
            ddlEventDate.DataTextField  = "EventStartDateStr";
            ddlEventDate.DataValueField = "EventStartDateStr";
            ddlEventDate.DataBind();
            ddlEventDate.Items.Insert(0, new ListItem("No Filter", ""));
            ddlEventDate.SelectedIndex = -1;
            if (sEventDateFilter.Length > 0)
            {
                foreach (ListItem li in ddlEventDate.Items)
                {
                    if (li.Value == sEventDateFilter)
                    {
                        ddlEventDate.ClearSelection();
                        li.Selected = true;
                    }
                    else
                    {
                        li.Selected = false;
                    }
                }
            }
            if (ddlEventDate.SelectedIndex == -1)     // Didn't find what was selected.
            {
                ddlEventDate.SelectedIndex = 0;
            }

            view = new DataView(dtPELs, sRowFilter, "PELStatus desc", DataViewRowState.CurrentRows);
            DataTable dtDistinctStatus = view.ToTable(true, "PELStatus");

            ddlStatus.DataSource     = dtDistinctStatus;
            ddlStatus.DataTextField  = "PELStatus";
            ddlStatus.DataValueField = "PELStatus";
            ddlStatus.DataBind();
            ddlStatus.Items.Insert(0, new ListItem("No Filter", ""));
            ddlStatus.SelectedIndex = -1;
            if (sPELStatusFilter.Length > 0)
            {
                foreach (ListItem li in ddlStatus.Items)
                {
                    if (li.Value == sPELStatusFilter)
                    {
                        ddlStatus.ClearSelection();
                        li.Selected = true;
                    }
                    else
                    {
                        li.Selected = false;
                    }
                }
            }
            if (ddlStatus.SelectedIndex == -1)     // Didn't find what was selected.
            {
                ddlStatus.SelectedIndex = 0;
            }

            DisplaySorting(sSortField, sSortDir);
        }