public GetAgencyList ( string txtDateFrom, string txtDateTo ) : IEnumerable |
||
txtDateFrom | string | |
txtDateTo | string | |
Résultat | IEnumerable |
public ActionResult Search(string txtDateFrom, string txtDateTo, string txtURLContains, string SelectedAgency, string Export, int? Page, string SortBy, string Order) { try { if (txtURLContains == "Enter Text") txtURLContains = ""; if (SelectedAgency == null) { SelectedAgency = "DOL.Gov"; } if (txtURLContains == null) { txtURLContains = ""; } int resultsPerPage = 10; if (txtDateFrom == null | txtDateTo == null) { txtDateTo = System.DateTime.Today.ToShortDateString(); txtDateFrom = System.DateTime.Today.Subtract(TimeSpan.FromDays(30)).ToShortDateString(); } ReportsDomain _reportsDomain = new ReportsDomain(ConfigurationManager.ConnectionStrings["FeedbackScriptConnectionString"].ConnectionString); bool mFromDateStatus = isDate(txtDateFrom); bool mToDateStatus = isDate(txtDateTo); if (mFromDateStatus == false) { txtDateFrom = System.DateTime.Today.Subtract(TimeSpan.FromDays(30)).ToShortDateString(); ModelState.AddModelError("FromDateValidation", "Invalid Date Range"); } if (mToDateStatus == false) { txtDateTo = System.DateTime.Today.ToShortDateString(); ModelState.AddModelError("ToDateValidation", "Invalid Date Range"); } txtURLContains = ReplaceBad(txtURLContains); ViewData["txtDateFrom"] = txtDateFrom; ViewData["txtDateTo"] = txtDateTo; ViewData["urlContains"] = txtURLContains; if (!ModelState.IsValid) { ViewData["AgencyList"] = new SelectList(new[] { new {Agency="Empty List",Val="Empty List"}, }, "Agency", "Agency", "Empty List"); return View(); } else { if (Convert.ToDateTime(txtDateFrom) > Convert.ToDateTime(txtDateTo)) { ModelState.AddModelError("FromDateValidation", "Invalid Date Range"); ModelState.AddModelError("ToDateValidation", "Invalid Date Range"); ViewData["AgencyList"] = new SelectList(new[] { new {Agency="Empty List",Val="Empty List"}, }, "Agency", "Agency", "Empty List"); return View(); } } var orderedResultsPerPage = _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency); if (Export == string.Empty | Export == null) { if (!Page.HasValue || Page.Value < 1) { Page = 1; } if (SortBy == "" || SortBy == null) { SortBy = "AgencyName"; } if (Order == "" || Order == null) { Order = "Asc"; } PaginationInfo pi = new PaginationInfo { CurrentPage = Page.Value, ResultPerPage = resultsPerPage, TotalCount = _reportsDomain.GetSearch(txtDateFrom,txtDateTo,txtURLContains,SelectedAgency).Count(), SortBy = SortBy, Order = Order, txtDateFrom = txtDateFrom,txtDateTo = txtDateTo,SelectedAgency = SelectedAgency,urlContains = txtURLContains}; ViewData["paging"] = pi; switch (SortBy) { case "URLLinks": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderBy(a => a.URL) : _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderByDescending(a => a.URL); break; case "AgencyName": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderBy(a => a.Agency) : _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderByDescending(a => a.Agency); break; case "PositiveFeedback": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderBy(a => a.Pfeedback) : _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderByDescending(a => a.Pfeedback); break; case "NumOfPosComments": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderBy(a => a.NumOfPosComments) : _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderByDescending(a => a.NumOfPosComments); break; case "NumOfNegComments": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderBy(a => a.NumOfNegComments) : _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderByDescending(a => a.NumOfNegComments); break; case "VolumeOfFeedback": default: orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderBy(a => a.VolumeFeedBack) : _reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).OrderByDescending(a => a.VolumeFeedBack); break; } ViewData["SortBy"] = SortBy; ViewData["Order"] = Order; ViewData["AgencyList"] = new SelectList(_reportsDomain.GetAgencyList(txtDateFrom,txtDateTo).ToList(), "Agency", "Agency", SelectedAgency); if (_reportsDomain.GetSearch(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency).Count() <= 0) ModelState.AddModelError("RecordCount", "No results found for the specified search criteria"); return View(orderedResultsPerPage.Skip(resultsPerPage * (Page.Value - 1)).Take(resultsPerPage)); } else { //ExportToExcelSearchPage(orderedResultsPerPage.ToList(), txtDateFrom.ToString(), txtDateTo.ToString()); ExportToExcelSearchPage(orderedResultsPerPage.ToList(), txtDateFrom.ToString(), txtDateTo.ToString(), txtURLContains, SelectedAgency); return View(orderedResultsPerPage); } } catch (Exception ex) { ViewData["ErrorMessage"] = ex.Message + ex.StackTrace; return View("Error"); } }
public ActionResult Trends(string txtDateFrom, string txtDateTo, string txtURLContains, string SelectedAgency, string SelectedUnit, string Export, int? Page, string SortBy, string Order) { try { if (txtURLContains == "Enter Text") txtURLContains = ""; string sUnit = string.Empty; if (SelectedUnit == null) SelectedUnit = "D"; var list = new SelectList(new [] { new {ID="D",Name="Days"}, new{ID="W",Name="Weeks"}, new{ID="M",Name="Months"}, new{ID="Q",Name="Quarters"}, new{ID="Y",Name="Years"}, }, "ID","Name",SelectedUnit); ViewData["UnitList"] = list; if (SelectedAgency == null) { SelectedAgency = "DOL.Gov"; } if (txtURLContains == null) { txtURLContains = ""; } int resultsPerPage = 10; if (txtDateFrom == null | txtDateTo == null) { txtDateTo = System.DateTime.Today.ToShortDateString(); txtDateFrom = System.DateTime.Today.Subtract(TimeSpan.FromDays(30)).ToShortDateString(); } ReportsDomain _reportsDomain = new ReportsDomain(ConfigurationManager.ConnectionStrings["FeedbackScriptConnectionString"].ConnectionString); bool mFromDateStatus = isDate(txtDateFrom); bool mToDateStatus = isDate(txtDateTo); if (mFromDateStatus == false) { txtDateFrom = System.DateTime.Today.Subtract(TimeSpan.FromDays(30)).ToShortDateString(); ModelState.AddModelError("FromDateValidation", "Invalid Date Range"); } if (mToDateStatus == false) { txtDateTo = System.DateTime.Today.ToShortDateString(); ModelState.AddModelError("ToDateValidation", "Invalid Date Range"); } txtURLContains = ReplaceBad (txtURLContains); ViewData["txtDateFrom"] = txtDateFrom; ViewData["txtDateTo"] = txtDateTo; ViewData["urlContains"] = txtURLContains; if (!ModelState.IsValid) { ViewData["AgencyList"] = new SelectList(new[] { new {Agency="Empty List",Val="Empty List"}, }, "Agency", "Agency", "Empty List"); return View(); } else { if (Convert.ToDateTime(txtDateFrom) > Convert.ToDateTime(txtDateTo)) { ModelState.AddModelError("FromDateValidation", "Invalid Date Range"); ModelState.AddModelError("ToDateValidation", "Invalid Date Range"); ViewData["AgencyList"] = new SelectList(new[] { new {Agency="Empty List",Val="Empty List"}, }, "Agency", "Agency", "Empty List"); return View(); } } var orderedResultsPerPage = _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,'D'); if (Export == string.Empty | Export == null) { if (!Page.HasValue || Page.Value < 1) { Page = 1; } if (SortBy == "" || SortBy == null) { SortBy = "UnitName"; } if (Order == "" || Order == null) { Order = "Asc"; } char mEmpty = new char(); PaginationInfo pi = new PaginationInfo { CurrentPage = Page.Value, ResultPerPage = resultsPerPage, TotalCount = _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,mEmpty).Count(), SortBy = SortBy, Order = Order, txtDateFrom = txtDateFrom, txtDateTo = txtDateTo, SelectedAgency = SelectedAgency, urlContains = txtURLContains, UnitName = SelectedUnit}; ViewData["paging"] = pi; switch (SortBy) { case "VolumeOfFeedback": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,mEmpty).OrderBy(a => a.VolumeFeedBack) : _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,mEmpty).OrderByDescending(a => a.VolumeFeedBack); break; case "NumOfPosComments": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit, mEmpty).OrderBy(a => a.NumOfPosComments) : _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit, mEmpty).OrderByDescending(a => a.NumOfPosComments); break; case "NumOfNegComments": orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit, mEmpty).OrderBy(a => a.NumOfNegComments) : _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit, mEmpty).OrderByDescending(a => a.NumOfNegComments); break; case "UnitName": default: if (SelectedUnit == "M") orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,'A') : _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,'D'); else orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit, mEmpty).OrderBy(a=>a.UnitName) : _reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit, mEmpty).OrderByDescending(a=>a.UnitName); break; } ViewData["SortBy"] = SortBy; ViewData["Order"] = Order; ViewData["AgencyList"] = new SelectList(_reportsDomain.GetAgencyList(txtDateFrom,txtDateTo).ToList(), "Agency", "Agency", SelectedAgency); if (_reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,mEmpty).Count() <= 0) { ModelState.AddModelError("RecordCount", "No results found for the specified search criteria"); } else { int MaxRecSizeVolFeedBack = new int(); ViewData["graphData"] = GetGraphData(_reportsDomain.GetTrend(txtDateFrom, txtDateTo, txtURLContains, SelectedAgency, SelectedUnit,'A').ToList(), out MaxRecSizeVolFeedBack); ViewData["MaxRecSizeVolFeedBack"] = MaxRecSizeVolFeedBack; } return View(orderedResultsPerPage.Skip(resultsPerPage * (Page.Value - 1)).Take(resultsPerPage)); } else { ExportToExcelTrendPage(orderedResultsPerPage.ToList(), txtDateFrom.ToString(), txtDateTo.ToString(),SelectedUnit,txtURLContains,SelectedAgency); return View(orderedResultsPerPage); } } catch (Exception ex) { ViewData["ErrorMessage"] = ex.Message + ex.StackTrace; return View("Error"); } }