public ActionResult SetPagingPreferenceAdvSearch(string pagingEnabled, string searchKey, string projStage, string benefittingCountry, string budgetCentreId, string sro) { if (pagingEnabled == "F") { Session["isPagingEnabledAS"] = "F"; } else { Session["isPagingEnabledAS"] = "T"; } AdvanceSearchVM avm = new AdvanceSearchVM(); avm.SearchKeyWord = searchKey; avm.stage = projStage; avm.BenefittingCountryID = benefittingCountry; avm.BudgetCentreID = budgetCentreId; avm.SRO = sro; TempData["Adv"] = avm; //return RedirectToAction("AdvancedSearch", "Project", new { page = 1, IsPagingEnabled = Session["isPagingEnabledAS"].ToString() }); //return View("AdvancedSearch"); TempData.Keep("Adv"); return(Json(Session["isPagingEnabledAS"].ToString())); }
// Project/AdvanceSeach #region Advance_Search public async Task <ActionResult> AdvancedSearch(int?page, AdvanceSearchVM advanceSearchVM, string IsPagingEnabled) { //Get logon String user = GetEmpNo(); //Test People service //IEnumerable<PersonDetails> SROs = await _ampServiceLayer.LookUpSroUser() as IEnumerable<PersonDetails>; //Log user on page LogCall(user, "Project/AdvancedSearch"); try { int pageNumber = (page ?? 1); if (IsPagingEnabled == null) { IsPagingEnabled = "T"; } if (Session["isPagingEnabledAS"] == null) { Session["isPagingEnabledAS"] = "T"; } if (Session["isPagingEnabled"] == "F") { ViewBag.PagingOn = "F"; } string searchKeyword = string.Empty; if (!string.IsNullOrEmpty(advanceSearchVM.SearchKeyWord) || !string.IsNullOrWhiteSpace(advanceSearchVM.SearchKeyWord)) { searchKeyword = advanceSearchVM.SearchKeyWord.ToString().Trim(); } else { searchKeyword = null; } string stage = advanceSearchVM.stage; string BenefittingCountry = advanceSearchVM.BenefittingCountryID; string BudgetCentre = advanceSearchVM.BudgetCentreID; string SRO = advanceSearchVM.SRO; string stageChoice = "All"; //advanceSearchVM.StatusChoice; //Status filter removed if (stageChoice == null) { advanceSearchVM.StatusChoice = "All"; } advanceSearchVM.ProjectStages = _ampServiceLayer.GetProjectStages(); advanceSearchVM.BenefitingCountry = _ampServiceLayer.GetBenefitingCountry(); //advanceSearchVM.BudgetCentre = _ampServiceLayer.LookupBudgetCentreKV(); if (advanceSearchVM == null) { return(HttpNotFound()); } AdvanceSearchVM advanceSearch; if (page == null && TempData["Adv"] == null) //Loading first page and Paging enabled { advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(searchKeyword, stage, 1, 10, stageChoice, BenefittingCountry, user, BudgetCentre, SRO, Session["isPagingEnabledAS"].ToString()); advanceSearch.ProjectStages = advanceSearchVM.ProjectStages; advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry; //advanceSearch.BudgetCentre = advanceSearchVM.BudgetCentre; advanceSearch.SearchKeyWord = searchKeyword; advanceSearch.stage = stage; advanceSearch.BenefittingCountryID = BenefittingCountry; advanceSearch.BudgetCentreID = BudgetCentre; advanceSearch.SRO = SRO; advanceSearch.StatusChoice = stageChoice; Session["searchKeyword"] = searchKeyword; Session["stage"] = stage; Session["stageChoice"] = stageChoice; //at all stage A or C Session["BenefittingCountry"] = BenefittingCountry; Session["BudgetCentre"] = BudgetCentre; Session["SRO"] = SRO; } else if (page != null && TempData["Adv"] == null) { if (Session["searchKeyword"] != null) { searchKeyword = Session["searchKeyword"].ToString().Trim(); } else { searchKeyword = null; } if (Session["stage"] != null) { stage = Session["stage"].ToString(); } else { stage = null; } if (Session["stageChoice"] != null) { stageChoice = Session["stageChoice"].ToString(); } else { stageChoice = "All"; } if (Session["BenefittingCountry"] != null) { BenefittingCountry = Session["BenefittingCountry"].ToString(); } else { BenefittingCountry = null; } if (Session["BudgetCentre"] != null) { BudgetCentre = Session["BudgetCentre"].ToString(); } else { BudgetCentre = null; } if (Session["SRO"] != null) { SRO = Session["SRO"].ToString(); } else { SRO = null; } advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(searchKeyword, stage, pageNumber, 10, stageChoice, BenefittingCountry, user, BudgetCentre, SRO, Session["isPagingEnabledAS"].ToString()); advanceSearch.ProjectStages = advanceSearchVM.ProjectStages; advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry; //advanceSearch.BudgetCentre = advanceSearchVM.BudgetCentre; advanceSearch.SearchKeyWord = searchKeyword; advanceSearch.stage = stage; advanceSearch.BenefittingCountryID = BenefittingCountry; advanceSearch.BudgetCentreID = BudgetCentre; advanceSearch.SRO = SRO; advanceSearch.StatusChoice = stageChoice; } else if (TempData["Adv"] != null) { advanceSearch = TempData["Adv"] as AdvanceSearchVM; string SK = string.Empty; string PS = string.Empty; string BC = string.Empty; string BdId = string.Empty; if (!string.IsNullOrEmpty(advanceSearch.SearchKeyWord)) { Session["SK"] = advanceSearch.SearchKeyWord.ToString().Trim(); } else { Session["SK"] = string.Empty; } if (!string.IsNullOrEmpty(advanceSearch.stage)) { Session["PS"] = advanceSearch.stage.ToString().Trim(); } else { Session["PS"] = string.Empty; } if (!string.IsNullOrEmpty(advanceSearch.BenefittingCountryID)) { Session["BC"] = advanceSearch.BenefittingCountryID.ToString().Trim(); } else { Session["BC"] = string.Empty; } if (!string.IsNullOrEmpty(advanceSearch.BudgetCentreID)) { Session["BdId"] = advanceSearch.BudgetCentreID.ToString().Trim(); } else { Session["BdId"] = string.Empty; } if (!string.IsNullOrEmpty(advanceSearch.SRO)) { Session["Sro"] = advanceSearch.SRO.ToString().Trim(); } else { Session["Sro"] = string.Empty; } advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(Session["SK"].ToString(), Session["PS"].ToString(), pageNumber, 10, stageChoice, Session["BC"].ToString(), user, Session["BdId"].ToString(), Session["Sro"].ToString(), Session["isPagingEnabledAS"].ToString()); advanceSearchVM.ProjectStages = _ampServiceLayer.GetProjectStages(); advanceSearchVM.BenefitingCountry = _ampServiceLayer.GetBenefitingCountry(); advanceSearch.ProjectStages = advanceSearchVM.ProjectStages; advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry; //advanceSearch.BudgetCentre = advanceSearchVM.BudgetCentre; advanceSearch.SearchKeyWord = Session["SK"].ToString() ?? null; advanceSearch.stage = Session["PS"].ToString() ?? null; advanceSearch.BenefittingCountryID = Session["BC"].ToString() ?? null; advanceSearch.BudgetCentreID = Session["BdId"].ToString() ?? null; advanceSearch.SRO = Session["Sro"].ToString() ?? null; advanceSearch.StatusChoice = stageChoice; } //else if (IsPagingEnabled == "F") //{ // //if (Session["searchKeyword"] != null) { searchKeyword = Session["searchKeyword"].ToString().Trim(); } // //else { searchKeyword = null; } // //if (Session["stage"] != null) { stage = Session["stage"].ToString(); } // //else { stage = null; } // //if (Session["stageChoice"] != null) { stageChoice = Session["stageChoice"].ToString(); } // //else { stageChoice = "Active"; } // //if (Session["BenefittingCountry"] != null) { BenefittingCountry = Session["BenefittingCountry"].ToString(); } // //else { BenefittingCountry = null; } // if (searchKeyword == null) // { // if (Session["searchKeyword"] != null) // { // searchKeyword = Session["searchKeyword"].ToString(); // } // } // if (stage == null) // { // if (Session["stage"] != null) // { // stage = Session["stage"].ToString(); // } // } // if (BenefittingCountry == null) // { // if (Session["BenefittingCountry"] != null) // { // BenefittingCountry = Session["BenefittingCountry"].ToString(); // } // } // advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(searchKeyword, stage, pageNumber, 10, stageChoice, BenefittingCountry, user); // advanceSearch.ProjectStages = advanceSearchVM.ProjectStages; // advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry; // advanceSearch.SearchKeyWord = searchKeyword; // advanceSearch.stage = stage; // advanceSearch.BenefittingCountryID = BenefittingCountry; // advanceSearch.StatusChoice = stageChoice; //} else { Session.Remove("searchKeyword"); Session.Remove("stage"); Session.Remove("BenefittingCountry"); Session.Remove("BudgetCentre"); Session.Remove("SRO"); Session.Remove("isPagingEnabled"); advanceSearch = advanceSearchVM; } return(View(advanceSearch)); } catch (Exception ex) { errorengine.LogError(ex, "Project/AdvancedSearch", user); throw; } }