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(); } } }
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); }
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); }
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); // } //} }
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(); } }
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(); } }