public ActionResult Index(FormCollection col) { DateTime sDate = col["StartDate"] == "" ? defaultStartDate : Convert.ToDateTime(col["StartDate"].ToString()); DateTime eDate = col["EndDate"] == "" ? defaultEndDate : Convert.ToDateTime(col["EndDate"].ToString()); List <MTDFilterObj> filters = new List <MTDFilterObj>(); //ID Fields foreach (MTDFilterField filter in _mtdFilterFields) { string val = col[filter.FieldName]; if (val != null && val != "0") //If filter exists and if Filter is not set to "All" { filters.Add(filter.GetFilterObject(Convert.ToInt32(val))); //AddFilter to list of Filters to Use } } int dealerID = col["Dealership.DealerID"] == null ? 1 : Convert.ToInt32(col["Dealership.DealerID"].ToString()); //string saleType = col["VehicleType.VehicleTypeId"] == null ? "0" : col["VehicleType.VehicleTypeId"].ToString(); MTDViewModel viewModel = MTD(sDate, eDate, dealerID, filters); if (Request.IsAjaxRequest()) { return(PartialView("_MTDGrid", viewModel)); } else { return(View(viewModel)); } }
private ActionResult MTD(DateTime startDate, DateTime endDate, int dealerID, string saleType) //PRoof of concept { MTDViewModel viewModel = new MTDViewModel(User.Identity.GetUserId <int>(), startDate, endDate, dealerID, saleType); var mtdData = DORHelper.ToDataTable(viewModel.MTDReport.ToList()); //ClosedXmlProofOfConcept(mtdData); var mtdRecords = new List <dynamic>(mtdData.Rows.Count); //var test = _dorService.GetMonthToDateObjects(startDate, endDate, dealerID, saleType).ToList(); //test.Where(t => t.deal_frnt_end != null).ForEach(t => t.deal_frnt_end = (decimal)Math.Round((double)t.deal_frnt_end, 4)); //TODO: Push this to a Function (Common class?) later foreach (DataRow row in mtdData.Rows) { var obj = (IDictionary <string, object>) new ExpandoObject(); foreach (DataColumn col in mtdData.Columns) { obj.Add(col.ColumnName, row[col]); } mtdRecords.Add(obj); } viewModel.MTDRecords = mtdRecords; return(View(viewModel)); }