public JsonResult GetList() { var draw = Request.Form.GetValues("draw").FirstOrDefault(); //Find paging info var start = Request.Form.GetValues("start").FirstOrDefault(); var length = Request.Form.GetValues("length").FirstOrDefault(); //Find order columns info var sortColumnIndex = Request.Form.GetValues("order[0][column]").FirstOrDefault(); var sortColumnName = Request.Form.GetValues("columns[" + sortColumnIndex + "][data]").FirstOrDefault(); var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault(); //find search columns info var search = Request.Form.GetValues("search[value]").FirstOrDefault().ToLower(); var sMemoNo = Request.Form.GetValues("columns[0][search][value]").FirstOrDefault().ToLower(); var sEmployeeId = Request.Form.GetValues("columns[1][search][value]").FirstOrDefault().ToLower(); var sBillDate = Request.Form.GetValues("columns[2][search][value]").FirstOrDefault(); var pageSize = length != null?Convert.ToInt32(length) : 0; var skip = start != null?Convert.ToInt16(start) : 0; var billInfo = billManager.GetAll(); var employeeInfo = employeeManager.GetAll(); var advnceInfo = advanceManager.GetAll(); var query = (from b in billInfo join a in advnceInfo on b.AdvanceId equals a.Id join e in employeeInfo on a.EmployeeId equals e.Id select new BillVM { Id = b.Id, MemoNo = b.MemoNo, BillStatus = b.BillStatus, EmployeeId = e.Id, EmployeeName = e.Name, BillDate = b.BillDate, Vendor = b.Vendor, GrandTotal = b.GrandTotal }); var total = query.Count(); //SEARCHING... query = query.Where(q => q.MemoNo == sMemoNo || string.IsNullOrEmpty(sMemoNo)); query = query.Where(q => q.EmployeeId.ToString() == sEmployeeId || string.IsNullOrEmpty(sEmployeeId)); if (!string.IsNullOrEmpty(sBillDate)) { var sdEffectiveDate = DateTime.Parse(sBillDate); query = query.Where(q => q.BillDate == sdEffectiveDate); } //SORTING... (For sorting we need to add a reference System.Linq.Dynamic) if (!(string.IsNullOrEmpty(sortColumnName) && string.IsNullOrEmpty(sortColumnDir))) { query = query.OrderBy(sortColumnName + " " + sortColumnDir); } var filtered = query.Count(); if (pageSize != -1) { query = query.Skip(skip).Take(pageSize); } return(Json(new { draw, recordsFiltered = filtered, recordsTotal = total, data = query.ToList() }, JsonRequestBehavior.AllowGet)); }
public JsonResult GetList() { var draw = Request.Form.GetValues("draw").FirstOrDefault(); //Find paging info var start = Request.Form.GetValues("start").FirstOrDefault(); var length = Request.Form.GetValues("length").FirstOrDefault(); //Find order columns info var sortColumnIndex = Request.Form.GetValues("order[0][column]").FirstOrDefault(); var sortColumnName = Request.Form.GetValues("columns[" + sortColumnIndex + "][data]").FirstOrDefault(); var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault(); //find search columns info var search = Request.Form.GetValues("search[value]").FirstOrDefault().ToLower(); var sEmployeeId = Request.Form.GetValues("columns[0][search][value]").FirstOrDefault().ToLower(); var pageSize = length != null?Convert.ToInt32(length) : 0; var skip = start != null?Convert.ToInt16(start) : 0; var billInfo = billManager.GetAll(); var billDetailsInfo = billedDetailsManager.GetAll(); var employeeInfo = employeeManager.GetAll(); var advanceInfo = advanceManager.GetAll(); var advanceDetailsInfo = advanceDetailsManager.GetAll(); var adjustInfo = adjustManager.GetAll(); var query = (from adj in adjustInfo join b in billInfo on adj.BillingId equals b.Id where b.BillStatus.Equals("Confirmed") join a in advanceInfo on b.AdvanceId equals a.Id where a.AdvanceStatus.Equals("Confirmed") join e in employeeInfo on a.EmployeeId equals e.Id select new AdjustVM { Id = b.Id, AdvanceId = a.Id, AdvanceMemo = a.MemoNo, BillTotal = adj.BillTotal, AdvanceTotal = a.GrandTotal, EmployeeId = e.Id, EmployeeName = e.Name }); var total = query.Count(); //SEARCHING... query = query.Where(q => q.EmployeeId.ToString() == sEmployeeId || string.IsNullOrEmpty(sEmployeeId)); //SORTING... (For sorting we need to add a reference System.Linq.Dynamic) if (!(string.IsNullOrEmpty(sortColumnName) && string.IsNullOrEmpty(sortColumnDir))) { query = query.OrderBy(sortColumnName + " " + sortColumnDir); } var filtered = query.Count(); if (pageSize != -1) { query = query.Skip(skip).Take(pageSize); } return(Json(new { draw, recordsFiltered = filtered, recordsTotal = total, data = query.ToList() }, JsonRequestBehavior.AllowGet)); }
public IEnumerable <BillViewModel> Get() { return(_repo.GetAll()); }