Beispiel #1
0
    private void Save(bool isActive)
    {
        // Delete all old records
        JuryPanelCategoryList jpcList = JuryPanelCategoryList.GetJuryPanelCategoryList("", "");

        foreach (JuryPanelCategory jpc in jpcList)
        {
            if (jpc.Round == round)
            {
                JuryPanelCategory.DeleteJuryPanelCategory(jpc.Id);
            }
        }

        // save all ddls
        foreach (RepeaterItem item in rptPanel.Items)
        {
            string thispanelno = ((Label)item.FindControl("lbPanelNo")).Text;
            for (int i = 1; i <= numberOfCats; i++)
            {
                DropDownList ddlCategory = (DropDownList)item.FindControl("ddlCategory" + i.ToString());


                JuryPanelCategory jpc = JuryPanelCategory.NewJuryPanelCategory();
                jpc.PanelId          = thispanelno;
                jpc.CategoryPSDetail = ddlCategory.SelectedValue;
                jpc.OrderNo          = i;
                jpc.IsActive         = isActive;
                jpc.Round            = round;
                jpc.Save();
            }
        }
    }
Beispiel #2
0
    public static string GetPanelId(Guid EntryId, string categoryPSDetail, string round)
    {
        string     PanelId = "";
        SystemData data    = GetSystemData();

        if (string.IsNullOrWhiteSpace(round))
        {
            round = data.ActiveRound;
        }
        var jurypanel = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty)
                        .FirstOrDefault(x => x.CategoryPSDetail.Contains(categoryPSDetail) && x.Round == round);

        if (jurypanel != null)
        {
            PanelId = jurypanel.PanelId;
        }

        return(PanelId);
    }
Beispiel #3
0
    private void BindGrid(bool isCustomSort, string sortExpression, GridSortOrder order, bool needRebind)
    {
        EntryList list = GeneralFunction.GetAllEntryCache(false);

        // filter only completed
        List <Entry> slist = new List <Entry>();

        foreach (Entry entry in list)
        {
            if (entry.Status == StatusEntry.Completed && entry.WithdrawnStatus == "" && ((round == "1") || (round == "2" && entry.IsRound2)))
            {
                slist.Add(entry);
            }
        }

        // filter
        string status        = (string)ViewState["TabFilterValue"];
        string advanceSearch = (string)ViewState["AdvanceSearch"];

        List <Entry> flist = new List <Entry>();

        if (advanceSearch == "1")
        {
            // Advanced search
            // basic fields
            // user's country
            List <Guid> entryIdList  = GeneralFunction.GetFilteredEntryListFromRegCountry(ddlCountry.SelectedValue, true);
            List <Guid> entryIdList2 = GeneralFunction.GetFilteredEntryListFromRegCompany(txtSearch.Text.Trim(), true);
            List <Guid> entryIdList3 = GeneralFunction.GetFilteredEntryListFromClientCC(txtSearch.Text.Trim(), true);
            List <Guid> entryIdList4 = GeneralFunction.GetFilteredEntryListFromJuryAssignment(txtSearch.Text.Trim(), round, true);
            List <Guid> entryIdList6 = GeneralFunction.GetFilteredEntryListFromAgencyCC(txtSearch.Text.Trim(), true);

            // jury panel list
            List <Guid> entryIdList5 = GeneralFunction.GetFilteredEntryListFromJuryPanel(ddlPanel.SelectedValue, round, true);

            foreach (Entry item in slist)
            {
                // category strip out the prefix
                string category = ddlCategory.SelectedValue;
                if (category.Length > 3)
                {
                    category = category.Substring(3, category.Length - 3);
                }

                if (
                    (ddlMarket.SelectedValue == "" || (ddlMarket.SelectedValue != "" && item.CategoryMarket == ddlMarket.SelectedValue)) &&
                    (category == "" || (category != "" && (item.CategoryPSDetailFromRound(round) == category || GeneralFunction.IsCategoryInCategoryGroup(category, item.CategoryPSDetailFromRound(round))))) &&
                    (ddlCountry.SelectedValue == "" || (ddlCountry.SelectedValue != "" && entryIdList.Contains(item.Id))) &&
                    (ddlPanel.SelectedValue == "" || (ddlPanel.SelectedValue != "" && entryIdList5.Contains(item.Id))) &&


                    (
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "entryId") && item.Serial.ToUpper().IndexOf(txtSearch.Text.Trim().ToUpper()) != -1)) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "title") && item.Campaign.ToUpper().IndexOf(txtSearch.Text.Trim().ToUpper()) != -1)) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "entrant") && entryIdList2.Contains(item.Id))) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "client") && entryIdList3.Contains(item.Id))) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "agency") && entryIdList6.Contains(item.Id))) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "juryname") && entryIdList4.Contains(item.Id)))
                        //(txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "panel") && entryIdList5.Contains(item.Id)))
                    )



                    )
                {
                    flist.Add(item);
                }
            }
        }
        else
        {
            // tab filtering
            //if (status == "WDN")
            //{
            //foreach (Entry item in list)
            //    if (item.WithdrawnStatus != "") flist.Add(item);
            //}
            //else
            //{
            //    foreach (Entry item in list)
            //        if (status == "" || (status != "" && item.Status == status)) flist.Add(item);
            //}

            flist = slist.ToList();
        }

        #region CustomSorting

        if (isCustomSort)
        {
            List <Registration> regList = RegistrationList.GetRegistrationList(string.Empty, string.Empty, string.Empty).ToList();

            if (sortExpression.Equals("Serial"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.Serial select entry).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.Serial descending select entry).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id select entry).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Country"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Country select entry).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Country descending select entry).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id select entry).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("DateSubmitted"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.DateSubmitted select entry).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.DateSubmitted descending select entry).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.DateSubmitted select entry).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Campaign"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.Campaign select entry).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.Campaign descending select entry).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id select entry).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Client"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.Client select entry).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.Client descending select entry).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id select entry).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("CategoryMarket"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.CategoryMarket orderby entry.CategoryPSDetail select entry).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby entry.CategoryMarket descending orderby entry.CategoryPSDetail descending select entry).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id select entry).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Panel"))
            {
                List <Entry>             sortedfList   = new List <Entry>();
                List <Entry>             filteredfList = new List <Entry>();
                List <JuryPanelCategory> pnlCategory   = new List <JuryPanelCategory>();

                switch (order)
                {
                case GridSortOrder.Ascending:
                {
                    pnlCategory = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty).OrderBy(m => m.PanelId).ToList();

                    foreach (JuryPanelCategory pnl in pnlCategory)
                    {
                        List <Entry> pnlEntries = GeneralFunction.GetEntryListFromCategory(pnl.CategoryPSDetail, round).OrderBy(m => m.CategoryPSDetail).ToList();

                        sortedfList.AddRange((from entry in pnlEntries
                                              join mainentry in flist on entry.Id equals mainentry.Id
                                              select mainentry).ToList());
                    }

                    filteredfList.AddRange(sortedfList);
                    filteredfList.AddRange(flist.Except(sortedfList).OrderBy(m => m.CategoryPSDetail).ToList());

                    break;
                }

                case GridSortOrder.Descending:
                {
                    pnlCategory = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty).OrderByDescending(m => m.PanelId).ToList();

                    foreach (JuryPanelCategory pnl in pnlCategory)
                    {
                        List <Entry> pnlEntries = GeneralFunction.GetEntryListFromCategory(pnl.CategoryPSDetail, round).OrderByDescending(m => m.CategoryPSDetail).ToList();

                        sortedfList.AddRange((from entry in pnlEntries
                                              join mainentry in flist on entry.Id equals mainentry.Id
                                              select mainentry).ToList());
                    }

                    filteredfList.AddRange(sortedfList);
                    filteredfList.AddRange(flist.Except(sortedfList).OrderByDescending(m => m.CategoryPSDetail).ToList());

                    break;
                }

                case GridSortOrder.None:
                {
                    pnlCategory = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty).ToList();

                    foreach (JuryPanelCategory pnl in pnlCategory)
                    {
                        List <Entry> pnlEntries = GeneralFunction.GetEntryListFromCategory(pnl.CategoryPSDetail, round);

                        sortedfList.AddRange((from entry in pnlEntries
                                              join mainentry in flist on entry.Id equals mainentry.Id
                                              select mainentry).ToList());
                    }

                    filteredfList.AddRange(sortedfList);
                    filteredfList.AddRange(flist.Except(sortedfList).ToList());

                    break;
                }
                }

                flist = filteredfList;
            }
            else if (sortExpression.Equals("Entrant"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Company select entry).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Company descending select entry).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from entry in flist join reg in regList on entry.RegistrationId equals reg.Id select entry).ToList();
                    break;
                }
            }
        }
        else
        {
            flist = (from entry in flist orderby entry.Serial select entry).ToList();
            //flist = (from entry in flist orderby entry.PanelId, entry.CategoryMarket, entry.CategoryPSDetail, entry.Serial select entry).ToList();
        }

        #endregion

        radGridEntry.DataSource = flist;
        if (needRebind)
        {
            radGridEntry.Rebind();
        }

        GeneralFunction.SetReportDataCache(flist);
    }
Beispiel #4
0
    private void BindGrid(bool isCustomSort, string sortExpression, GridSortOrder order, bool needRebind)
    {
        ScoreList list = GeneralFunction.GetAllScoreCache(needRebind);

        // filter only flagged, not recused, submitted
        List <Score> slist = new List <Score>();

        foreach (Score score in list)
        {
            /* Commented because have to show recused entries also */

            //if (score.Flag != "" && score.IsSubmitted && !score.IsAdminRecuse && !score.IsRecuse && score.Round == round)
            //    slist.Add(score);

            if (((score.Flag != "" && score.IsSubmitted) || (score.IsRecuse)) && score.Round == round)
            {
                slist.Add(score);
            }
        }

        // filter
        string status        = (string)ViewState["TabFilterValue"];
        string advanceSearch = (string)ViewState["AdvanceSearch"];

        List <Score> flist = new List <Score>();

        if (advanceSearch == "1")
        {
            // Advanced search
            // basic fields
            // user's country

            List <Guid> entryIdList  = GeneralFunction.GetFilteredEntryListFromRegCountry(ddlCountry.SelectedValue, true);
            List <Guid> entryIdList2 = GeneralFunction.GetFilteredScoreListFromRegCompany(txtSearch.Text.Trim(), true);

            // juryname
            List <Guid> entryIdList4 = GeneralFunction.GetFilteredScoreListFromJuryAssignment(txtSearch.Text.Trim(), "", "", round, true);

            // juryid
            List <Guid> entryIdList5 = GeneralFunction.GetFilteredScoreListFromJuryAssignment("", txtSearch.Text.Trim(), "", round, true);

            // jurycompany
            List <Guid> entryIdList6 = GeneralFunction.GetFilteredScoreListFromJuryAssignment("", "", txtSearch.Text.Trim(), round, true);



            foreach (Score item in slist)
            {
                // category strip out the prefix
                string category = ddlCategory.SelectedValue;
                if (category.Length > 3)
                {
                    category = category.Substring(3, category.Length - 3);
                }

                // Jury who scored
                EffieJuryManagementApp.Jury jury = GeneralFunction.GetJuryFromIDCache(item.Juryid, round);

                // Entry
                Entry entry = GeneralFunction.GetEntryFromIDCache(item.EntryId);

                if (
                    (ddlNetwork.SelectedValue == "" || (ddlNetwork.SelectedValue != "" && jury.Network == ddlNetwork.SelectedValue)) &&
                    (ddlHoldingCompany.SelectedValue == "" || (ddlHoldingCompany.SelectedValue != "" && jury.HoldingCompany == ddlHoldingCompany.SelectedValue)) &&

                    (ddlMarket.SelectedValue == "" || (ddlMarket.SelectedValue != "" && entry.CategoryMarket == ddlMarket.SelectedValue)) &&
                    (category == "" || (category != "" && (entry.CategoryPSDetailFromRound(round) == category || GeneralFunction.IsCategoryInCategoryGroup(category, entry.CategoryPSDetailFromRound(round))))) &&
                    (ddlCountry.SelectedValue == "" || (ddlCountry.SelectedValue != "" && entryIdList.Contains(entry.Id))) &&
                    (
                        (ddlJuryFlag.SelectedValue == "" || (ddlJuryFlag.SelectedValue != "" && item.Flag == ddlJuryFlag.SelectedValue)) ||
                        (ddlJuryFlag.SelectedValue == "JuryRecusal" && item.IsRecuse)
                    ) &&
                    (ddlRecuse.SelectedValue == "" || (ddlRecuse.SelectedValue != "" && (item.IsAdminRecuse.ToString() == ddlRecuse.SelectedValue || item.IsRecuse.ToString() == ddlRecuse.SelectedValue))) &&

                    (
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "entryId") && entry.Serial.ToUpper().IndexOf(txtSearch.Text.Trim().ToUpper()) != -1)) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "title") && entry.Campaign.ToUpper().IndexOf(txtSearch.Text.Trim().ToUpper()) != -1)) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "entrant") && entryIdList2.Contains(item.Id))) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "juryname") && entryIdList4.Contains(item.Id))) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "juryId") && entryIdList5.Contains(item.Id))) ||
                        (txtSearch.Text.Trim() == "" || (txtSearch.Text.Trim() != "" && (ddlSearch.SelectedValue == "" || ddlSearch.SelectedValue == "jurycompany") && entryIdList6.Contains(item.Id)))

                    )
                    )
                {
                    flist.Add(item);
                }
            }
        }
        else
        {
            // tab filtering
            //if (status == "WDN")
            //{
            //    foreach (Entry item in list)
            //        if (item.WithdrawnStatus != "") flist.Add(item);
            //}
            //else
            //{
            //    foreach (Entry item in list)
            //        if (status == "" || (status != "" && item.Status == status)) flist.Add(item);
            //}
            flist = slist;
        }

        // Sort
        List <Entry> sortedEntries = GeneralFunction.GetAllEntryCache(false).ToList();
        var          result        = flist.Join(sortedEntries, score => score.EntryId, entry => entry.Id, (score, entry) => new { Score = score, Entry = entry }).OrderBy(x => x.Entry.Serial).Select(x => x.Score).ToList();

        #region CustomSorting

        if (isCustomSort)
        {
            List <Registration> regList = RegistrationList.GetRegistrationList(string.Empty, string.Empty, string.Empty).ToList();
            List <EffieJuryManagementApp.Jury> juryList = EffieJuryManagementApp.JuryList.GetJuryList(string.Empty, string.Empty).ToList();

            if (sortExpression.Equals("Serial"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Serial select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Serial descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Country"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Country select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Country descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Campaign"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Campaign select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Campaign descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("CategoryMarket"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.CategoryMarket select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.CategoryMarket descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Client"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Client select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Client descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Panel"))
            {
                List <Score>             sortedfList   = new List <Score>();
                List <Score>             filteredfList = new List <Score>();
                List <JuryPanelCategory> pnlCategory   = new List <JuryPanelCategory>();

                switch (order)
                {
                case GridSortOrder.Ascending:
                {
                    pnlCategory = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty).OrderBy(m => m.PanelId).ToList();

                    foreach (JuryPanelCategory pnl in pnlCategory)
                    {
                        List <Entry> pnlEntries = GeneralFunction.GetEntryListFromCategory(pnl.CategoryPSDetail, round).OrderBy(m => m.CategoryPSDetail).ToList();

                        sortedfList.AddRange((from entry in pnlEntries
                                              join score in flist on entry.Id equals score.EntryId
                                              select score).ToList());
                    }

                    filteredfList.AddRange(sortedfList);

                    List <Score> preFilteredList = flist.Except(sortedfList).ToList();

                    preFilteredList = (from score in preFilteredList join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.CategoryPSDetail select score).ToList();

                    filteredfList.AddRange(preFilteredList);

                    break;
                }

                case GridSortOrder.Descending:
                {
                    pnlCategory = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty).OrderByDescending(m => m.PanelId).ToList();

                    foreach (JuryPanelCategory pnl in pnlCategory)
                    {
                        List <Entry> pnlEntries = GeneralFunction.GetEntryListFromCategory(pnl.CategoryPSDetail, round).OrderByDescending(m => m.CategoryPSDetail).ToList();

                        sortedfList.AddRange((from entry in pnlEntries
                                              join mainentry in flist on entry.Id equals mainentry.Id
                                              select mainentry).ToList());
                    }

                    filteredfList.AddRange(sortedfList);

                    List <Score> preFilteredList = flist.Except(sortedfList).ToList();

                    preFilteredList = (from score in preFilteredList join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.CategoryPSDetail descending select score).ToList();

                    filteredfList.AddRange(preFilteredList);

                    break;
                }

                case GridSortOrder.None:
                {
                    pnlCategory = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty).ToList();

                    foreach (JuryPanelCategory pnl in pnlCategory)
                    {
                        List <Entry> pnlEntries = GeneralFunction.GetEntryListFromCategory(pnl.CategoryPSDetail, round);

                        sortedfList.AddRange((from entry in pnlEntries
                                              join mainentry in flist on entry.Id equals mainentry.Id
                                              select mainentry).ToList());
                    }

                    filteredfList.AddRange(sortedfList);
                    filteredfList.AddRange(flist.Except(sortedfList).ToList());

                    break;
                }
                }

                flist = filteredfList;
            }
            else if (sortExpression.Equals("Entrant"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Company select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id join reg in regList on entry.RegistrationId equals reg.Id orderby reg.Company descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("Brand"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Brand select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join entry in sortedEntries on score.EntryId equals entry.Id orderby entry.Brand descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("JuryID"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.SerialNo select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.SerialNo descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("JuryName"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.FirstName, jury.LastName select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.FirstName, jury.LastName descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("JuryTitle"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.Designation select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.Designation descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("JuryCompany"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.Company select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.Company descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("JuryCountry"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.Country select score).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = (from score in flist join jury in juryList on score.Juryid equals jury.Id orderby jury.Country descending select score).ToList();
                    break;

                case GridSortOrder.None:
                    flist = (from score in flist select score).ToList();
                    break;
                }
            }
            else if (sortExpression.Equals("JuryFlag"))
            {
                switch (order)
                {
                case GridSortOrder.Ascending:
                    flist = flist.OrderBy(x => x.Flags).ToList();
                    break;

                case GridSortOrder.Descending:
                    flist = flist.OrderByDescending(x => x.Flags).ToList();
                    break;

                case GridSortOrder.None:
                    flist = flist.OrderBy(x => x.Flags).ToList();
                    break;
                }
            }
        }
        else
        {
            flist = (from score in flist select score).ToList();
        }

        #endregion


        radGridEntry.DataSource = flist;
        if (needRebind)
        {
            radGridEntry.Rebind();
        }

        GeneralFunction.SetReportDataCache(result);


        // hide show checkboxes for certain status
        //if (status == StatusEntry.UploadPending || status == StatusEntry.UploadCompleted)
        //{
        //    foreach (GridDataItem item in radGridEntry.Items)
        //    {
        //        CheckBox chkbox = (CheckBox)item.FindControl("chkbox");
        //        if (chkbox != null) chkbox.Visible = true;
        //        Security.SecureControlByHiding(chkbox);
        //    }
        //}
    }
Beispiel #5
0
    protected void btnExport_Click(object sender, EventArgs e)
    {
        lblError.Text = "";

        object data = GeneralFunction.GetReportDataCache();

        if (data != null)
        {
            List <string> effieExpYears = GeneralFunction.GetEffieExperienceYears();

            List <EffieJuryManagementApp.Jury> flist = (List <EffieJuryManagementApp.Jury>)data;

            flist = flist.OrderBy(m => round.Equals("1") ? m.Round1PanelId : m.Round2PanelId).ToList();

            List <EffieJuryManagementApp.Jury> filteredfList = new List <EffieJuryManagementApp.Jury>();

            List <JuryPanelCategory> jcplist = JuryPanelCategoryList.GetJuryPanelCategoryList(string.Empty, string.Empty).OrderBy(m => m.PanelId).OrderBy(m => m.CategoryPSDetail).ToList();

            filteredfList.AddRange((from jury in flist
                                    from juryCat in jcplist
                                    where round.Equals("1") ? jury.Round1PanelId.Contains(juryCat.PanelId) : jury.Round2PanelId.Contains(juryCat.PanelId)
                                    orderby juryCat.PanelId, juryCat.CategoryPSDetail
                                    select jury).ToList());

            filteredfList = filteredfList.Distinct().ToList();


            XLWorkbook   workbook     = new XLWorkbook();
            MemoryStream memoryStream = new MemoryStream();
            int          x            = 1;
            int          y            = 1;
            string       sheetName    = "Jury Listing";
            workbook.Worksheets.Add(sheetName);
            x = 1;


            #region Basic Entry Headers
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("No."); x++;


            // basic details
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Type"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("JudgeId"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Email"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Password"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Salutation"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Firstname"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Lastname"); x++;

            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Title"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Contact"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Mobile"); x++;

            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Company"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Address1"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Address2"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("City"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Postal"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Country"); x++;

            ////Based on feedback from Charmaine on 08/02/2018

            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Type of Company"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Network"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Holding Company"); x++;

            #endregion

            ////Based on feedback from Charmaine on 08/02/2018

            //#region Market Exp Headers

            //List<string> marketExpItems = GeneralFunction.GetMarketExperienceItems();
            //foreach (string marketExp in marketExpItems)
            //{
            //    workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(marketExp); x++;
            //}
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Others"); x++;

            //#endregion


            ////Based on feedback from Charmaine on 08/02/2018

            //#region Industry Exp Headers

            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("AG"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("AU"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("BW"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("BA"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("CE"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("CR"); x++;

            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("FP"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("FM"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("FD"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("GV"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("HC"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("HS"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("IT"); x++;

            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("ME"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("RE"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("RS"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("RT"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("TT"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Others"); x++;

            //#endregion


            #region Misc Headers

            ////Based on feedback from Charmaine on 08/02/2018

            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Specialist Skills"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Specialist Skills - Others"); x++;

            //foreach (string effieExpYear in effieExpYears)
            //{
            //    workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("APAC Effie Exp - " + effieExpYear); x++;
            //    workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("APAC Effie Exp Remarks - " + effieExpYear); x++;
            //}

            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Other Effie Programs"); x++;
            //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Other Effie Programs - Others"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Round1 Panel"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Round2 Panel"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Completion"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Account Activated"); x++;
            workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("Accepted Confidentiality Statement"); x++;

            #endregion

            y++;

            foreach (EffieJuryManagementApp.Jury jury in filteredfList)
            {
                x = 1;


                #region Basic Jury DataRows

                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue((y - 1).ToString()); x++;


                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Type); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.SerialNo); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Email); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Password); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Salutation); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.FirstName); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.LastName); x++;

                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Designation); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(GeneralFunction.ShowFriendlyContact(jury.Contact)); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(GeneralFunction.ShowFriendlyContact(jury.Mobile)); x++;

                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Company); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Address1); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Address2); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.City); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Postal); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Country); x++;

                ////Based on feedback from Charmaine on 08/02/2018

                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.CompanyType); x++;
                //string network = jury.Network;
                //if (jury.NetworkOthers != "") network += " - " + jury.NetworkOthers;
                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(network); x++;
                //string holdingcompany = jury.HoldingCompany;
                //if (jury.HoldingCompanyOthers != "") holdingcompany += " - " + jury.HoldingCompanyOthers;
                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(holdingcompany); x++;


                #endregion

                ////Based on feedback from Charmaine on 08/02/2018

                //#region Market Exp

                //foreach (string marketExp in marketExpItems)
                //{
                //    if (jury.MarketExp.IndexOf(marketExp) != -1)
                //        workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //    x++;
                //}
                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.MarketExpOthers); x++;

                //#endregion

                ////Based on feedback from Charmaine on 08/02/2018

                //#region Industry Exp

                //if (jury.IndustryExp.IndexOf("Agricultural & Industrial") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Automotive") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Beauty & Wellness") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Beverages") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Consumer Electronics and Durables") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Corporate Reputation/Professional Services") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Financial Products & Services") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("FMCG") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Food") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Government / Institutional") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Healthcare") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Household Supplies & Services") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("IT /Telco") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Media, Entertainment & Leisure") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Real Estate") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Restaurants") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Retail") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;
                //if (jury.IndustryExp.IndexOf("Travel / Tourism") != -1) workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue("1");
                //x++;

                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.IndustryExpOthers); x++;

                //#endregion


                #region Misc

                ////Based on feedback from Charmaine on 08/02/2018

                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Skills); x++;
                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.SkillsOthers); x++;

                //int effieExpCounter = 0;
                //foreach (string effieExpYear in effieExpYears)
                //{
                //    string yearString = string.Empty;
                //    string year = string.Empty;
                //    string yearRemark = string.Empty;

                //    try
                //    {
                //        yearString = jury.EffieExpYear.Split('|')[effieExpCounter];
                //        year = yearString.Split('#')[0];
                //        yearRemark = yearString.Split('#')[1];
                //    }
                //    catch { }

                //    workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(effieExpYear.Equals(year) ? "Yes" : "No"); x++;
                //    workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(yearRemark); x++;

                //    effieExpCounter++;
                //}

                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.EffieExpProgram); x++;
                //workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.EffieExpProgramOthers); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Round1PanelId); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.Round2PanelId); x++;


                // Completion
                List <Score> scores   = GeneralFunction.GetScoreListFromJuryCache(jury.Id, round);
                List <Score> fscores  = scores.Where(p => p.IsSubmitted && !p.IsAdminRecuse && !p.IsRecuse).ToList();
                List <Entry> fentries = GeneralFunction.GetEntryListValidFromJuryPanel(jury, round);

                string completion = fscores.Count.ToString() + " / " + fentries.Count.ToString();
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(completion); x++;

                #endregion

                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(jury.IsActive ? "Yes" : "No"); x++;
                workbook.Worksheets.Worksheet(sheetName).Cell(y, x).SetValue(!jury.IsFirstTimeLogin ? "Yes" : "No"); x++;

                y++;
            }



            GeneralFunction.StyleReport(workbook).SaveAs(memoryStream);

            Response.Clear();
            Response.ContentType = "application/vnd.ms-excel";
            Response.AddHeader("content-disposition", "attachment;filename=Effie_Jury_Master.xlsx");

            memoryStream.WriteTo(Response.OutputStream);
            Response.End();
        }
    }
Beispiel #6
0
    private void PopulateForm()
    {
        // Pop the jpc data
        JuryPanelCategoryList jpcList = JuryPanelCategoryList.GetJuryPanelCategoryList("", "");

        DropDownList firstDdl = null;
        DropDownList secDdl   = null;
        int          rptCount = 0;
        int          rptJPC   = 0;

        foreach (RepeaterItem item in rptPanel.Items)
        {
            string thispanelno = ((Label)item.FindControl("lbPanelNo")).Text;
            // loop all the ddls in the repeater for a match

            List <JuryPanelCategory> filteredJPCList = jpcList.Where(m => m.PanelId.Equals(thispanelno) && m.Round == round).OrderBy(m => m.OrderNo).ToList();



            foreach (JuryPanelCategory jpc in filteredJPCList)
            {
                //if (jpc.Round == round)
                //{
                for (int i = 1; i <= numberOfCats; i++)
                {
                    DropDownList ddlCategory = (DropDownList)item.FindControl("ddlCategory" + i.ToString());
                    if (thispanelno == jpc.PanelId && i == jpc.OrderNo)
                    {
                        if (rptJPC == 0 && rptCount == 0)
                        {
                            firstDdl = ddlCategory;
                        }
                        if (rptJPC == 1 && rptCount == 0)
                        {
                            secDdl = ddlCategory;
                        }

                        ddlCategory.SelectedValue = jpc.CategoryPSDetail;
                        //PopulateAllDDL(ddlCategory);
                        PopulateNumberEntries(ddlCategory);
                    }
                }
                //}
                rptJPC++;
            }
            rptCount++;
        }

        PopulateAllDDL(firstDdl);
        PopulateAllDDL(secDdl);


        // Hide the save as draft if all confirmed
        if (jpcList.Count > 0)
        {
            btnSave.Visible = !jpcList[0].IsActive;
            if (!jpcList[0].IsActive)
            {
                btnConfirm.Attributes.Add("onclick", "return confirm('Confirm to submit?');");
            }
        }
        else
        {
            btnConfirm.Attributes.Add("onclick", "return confirm('Confirm to submit?');");
        }

        if (Security.IsReadOnlyAdmin())
        {
            GeneralFunctionEntryForm.DisableAllAction(this, false);
            btnConfirm.Visible = !Security.IsReadOnlyAdmin();
        }
    }