GetSummary() public method

public GetSummary ( string txtDateFrom, string txtDateTo ) : IEnumerable
txtDateFrom string
txtDateTo string
return IEnumerable
        public ActionResult Summary(string txtDateFrom, string txtDateTo, string Export,string SortBy, string Order)
        {
            try
            {
                if (txtDateFrom == null | txtDateTo == null)
                {
                    txtDateTo = System.DateTime.Today.ToShortDateString();
                    txtDateFrom = System.DateTime.Today.Subtract(TimeSpan.FromDays(30)).ToShortDateString();
                }

                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");
                }

                ViewData["txtDateFrom"] = txtDateFrom;
                ViewData["txtDateTo"] = txtDateTo;
                if (!ModelState.IsValid)
                {
                    return View();
                }
                else
                {
                    if (Convert.ToDateTime(txtDateFrom) > Convert.ToDateTime(txtDateTo))
                    {
                        ModelState.AddModelError("FromDateValidation", "Invalid Date Range");
                        ModelState.AddModelError("ToDateValidation", "Invalid Date Range");
                        return View();
                    }
                }

                ReportsDomain _reportsDomain = new ReportsDomain(ConfigurationManager.ConnectionStrings["FeedbackScriptConnectionString"].ConnectionString);

                var orderedResultsPerPage = _reportsDomain.GetSummary(txtDateFrom, txtDateTo);

                if (Export == string.Empty | Export == null)
                {
                    if (SortBy == "" || SortBy == null) { SortBy = "AgencyName"; }
                    if (Order == "" || Order == null) { Order = "Asc"; }

                    switch (SortBy)
                    {
                        case "VolumeOfFeedback":
                            orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSummary(txtDateFrom, txtDateTo).OrderBy(a => a.VolumeFeedBack) : _reportsDomain.GetSummary(txtDateFrom, txtDateTo).OrderByDescending(a => a.VolumeFeedBack);
                            break;
                        case "PositiveFeedback":
                            orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSummary(txtDateFrom, txtDateTo).OrderBy(a => a.Pfeedback) : _reportsDomain.GetSummary(txtDateFrom, txtDateTo).OrderByDescending(a => a.Pfeedback);
                            break;
                        case "AgencyName":
                        default:
                            orderedResultsPerPage = Order == "Asc" ? _reportsDomain.GetSummary(txtDateFrom, txtDateTo).OrderBy(a => a.Agency) : _reportsDomain.GetSummary(txtDateFrom, txtDateTo).OrderByDescending(a => a.Agency);
                            break;
                    }

                    ViewData["SortBy"] = SortBy;
                    ViewData["Order"] = Order;

                    if (_reportsDomain.GetSummary(txtDateFrom, txtDateTo).Count() <= 0)
                        ModelState.AddModelError("RecordCount", "No results found for the specified search criteria");

                    return View(orderedResultsPerPage);
                }
                else
                {
                    ExportToExcelSummaryPage(orderedResultsPerPage.ToList(), txtDateFrom.ToString(), txtDateTo.ToString());
                    return View(orderedResultsPerPage);
                }
            }
            catch (Exception ex)
            {
                ViewData["ErrorMessage"] = ex.Message + ex.StackTrace;
                return View("Error");
            }
        }