public JsonResult GetMFSummary(MFWiseSummaryParameters param) { JsonResponse jsonResponse = new JsonResponse(); var client = new RestClient(CommonFunctions.GetAPIPath() + "Dashboard/GetMFSummary"); var request = new RestRequest(Method.POST); request.AddParameter("application/json; charset=utf-8", JsonConvert.SerializeObject(param), ParameterType.RequestBody); IRestResponse response = client.Execute(request); jsonResponse = JsonConvert.DeserializeObject <JsonResponse>(response.Content); IEnumerable <MFReport> summary = JsonConvert.DeserializeObject <IEnumerable <MFReport> >(jsonResponse.Data.ToString()); HttpContext.Session.SetObject("GridData", summary); int totalconsumable = summary.Count(); var sortDirection = HttpContext.Request.Query["sSortDir_0"]; // asc or desc var sortColumnIndex = Convert.ToInt32(HttpContext.Request.Query["iSortCol_0"]); if (!string.IsNullOrEmpty(param.sSearch)) { summary = summary.Where(z => z.Scheme.ToLower().Contains(param.sSearch.ToLower())); } summary = sortColumnIndex switch { 0 => sortDirection == "asc" ? summary.OrderBy(z => z.AMC) : summary, 1 => sortDirection == "asc" ? summary.OrderBy(z => z.Scheme) : summary.OrderByDescending(z => z.Scheme), 2 => sortDirection == "asc" ? summary.OrderBy(z => z.Units) : summary.OrderByDescending(z => z.Units), 3 => sortDirection == "asc" ? summary.OrderBy(z => z.MaturityDate) : summary.OrderByDescending(z => z.MaturityDate), 4 => sortDirection == "asc" ? summary.OrderBy(z => z.PurchaseNav) : summary.OrderByDescending(z => z.PurchaseNav), 5 => sortDirection == "asc" ? summary.OrderBy(z => z.ValueAtcost) : summary.OrderByDescending(z => z.ValueAtcost), 6 => sortDirection == "asc" ? summary.OrderBy(z => z.CurrentNAV) : summary.OrderByDescending(z => z.CurrentNAV), 7 => sortDirection == "asc" ? summary.OrderBy(z => z.CurrentMarketValuation) : summary.OrderByDescending(z => z.CurrentMarketValuation), 8 => sortDirection == "asc" ? summary.OrderBy(z => z.Dividend) : summary.OrderByDescending(z => z.Dividend), 9 => sortDirection == "asc" ? summary.OrderBy(z => z.AbsoluteGainOrLoss) : summary.OrderByDescending(z => z.AbsoluteGainOrLoss), 10 => sortDirection == "asc" ? summary.OrderBy(z => z.AbsoluteGainORLossPercentage) : summary.OrderByDescending(z => z.AbsoluteGainORLossPercentage), 11 => sortDirection == "asc" ? summary.OrderBy(z => z.XIRR) : summary.OrderByDescending(z => z.XIRR), 12 => sortDirection == "asc" ? summary.OrderBy(z => z.AvgDaysInvested) : summary.OrderByDescending(z => z.AvgDaysInvested), _ => sortDirection == "desc" ? summary.OrderBy(z => z.PurchaseNav) : summary.OrderByDescending(z => z.PurchaseNav), }; int filteredconsumableCount = summary.Count(); if (param.iDisplayLength > 0) { summary = summary.Skip(param.iDisplayStart).Take(param.iDisplayLength); } return(Json(new { param.sEcho, iTotalRecords = totalconsumable, iTotalDisplayRecords = filteredconsumableCount, aaData = summary })); }
public async Task <PartialViewResult> GetChildTable(MFWiseSummaryParameters param) { MFReport model = new MFReport(); var client = new RestClient(CommonFunctions.GetAPIPath() + "Dashboard/GetMFChildTableSummary"); var request = new RestRequest(Method.POST); request.AddParameter("application/json; charset=utf-8", JsonConvert.SerializeObject(param), ParameterType.RequestBody); IRestResponse response = client.Execute(request); model.MFList = JsonConvert.DeserializeObject <List <MFReport> >(response.Content); HttpContext.Session.SetObject("ChildGridData", model.MFList); return(PartialView("_ChildTable", model)); }