FeedbackScript.Admin.Models.ReportsDomain.GetAgencyList C# (CSharp) Method

GetAgencyList() public method

public GetAgencyList ( string txtDateFrom, string txtDateTo ) : IEnumerable
txtDateFrom string
txtDateTo string
return IEnumerable
        public IEnumerable<TopPages> GetAgencyList(string txtDateFrom, string txtDateTo)
        {
            var results = dataContext.spGetAgencyList(Convert.ToDateTime(txtDateFrom), Convert.ToDateTime(txtDateTo));
            IEnumerable<TopPages> res = from resp in results
                                   select new TopPages
                                   {
                                       Agency = resp.Agency
                                   };
            return res;
        }

Usage Example

        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");
            }
        }
All Usage Examples Of FeedbackScript.Admin.Models.ReportsDomain::GetAgencyList