public ActionResult Index(string sortOrder, string CurrentSort, int?page) { int pageSize = 10; int pageIndex = 1; pageIndex = page.HasValue ? Convert.ToInt32(page) : 1; ViewBag.CurrentSort = sortOrder; //sortOrder = String.IsNullOrEmpty(sortOrder) ? "USER_NO" : sortOrder; IPagedList <TRN_DCR> pagedSpecimens = null; IQueryable <TRN_DCR> dcrs = db.TRN_DCR.AsQueryable(); var user_list = db.SEC_USERS.Where(a => (a.USER_TYPE_NO == (long)UserType.Zonal_Manager) || (a.USER_TYPE_NO == (long)UserType.Agents)).OrderBy(a => a.USER_NAME).ToList(); ViewBag.USER_NO = new SelectList(user_list, "USER_NO", "USER_NAME"); ViewBag.fromDate = DateTime.Now.ToString("yyyy-MM-dd"); ViewBag.toDate = DateTime.Now.AddDays(60).ToString("yyyy-MM-dd"); DCRSearch dcrSearch = (Session["DCRSearch"] == null) ? new DCRSearch() : (DCRSearch)Session["DCRSearch"]; if (Request.QueryString.HasKeys() && !page.HasValue) { Tuple <DCRSearch, IQueryable <TRN_DCR> > tmp = setSearch(dcrs, dcrSearch, false); dcrs = tmp.Item2; dcrSearch = tmp.Item1; } else if (page.HasValue && dcrSearch.dirty) { dcrSearch = (DCRSearch)Session["DCRSearch"]; Tuple <DCRSearch, IQueryable <TRN_DCR> > tmp = setSearch(dcrs, dcrSearch, true); dcrs = tmp.Item2; dcrSearch = tmp.Item1; } else if (page.HasValue && Session["DCRSearch"] == null) { dcrSearch = new DCRSearch(); } /*else * dcrSearch.isactive = "all";*/ Session["DCRSearch"] = dcrSearch; pagedSpecimens = dcrs.OrderByDescending(m => m.INSERT_TIME).ToPagedList(pageIndex, pageSize); ViewBag.dcrSearch = dcrSearch; return(View(pagedSpecimens)); }
// // GET: /DCR/ public Tuple <DCRSearch, IQueryable <TRN_DCR> > setSearch(IQueryable <TRN_DCR> dcrs, DCRSearch dcrSearch, bool search) { dcrSearch = (dcrSearch.dirty) ? dcrSearch :new DCRSearch(); if (!string.IsNullOrEmpty(Request.QueryString["ZMName"]) || search) { dcrSearch.ZMName = (!search)? Request.QueryString["ZMName"]:dcrSearch.ZMName; if (!string.IsNullOrEmpty(dcrSearch.ZMName.ToString())) { dcrs = dcrs.Where(s => s.SEC_USERS.USER_NAME.Contains(dcrSearch.ZMName)); } } else { dcrSearch.ZMName = ""; } if (!string.IsNullOrEmpty(Request.QueryString["USER_NO"]) || search) { dcrSearch.userNo = (!search) ? decimal.Parse(Request.QueryString["USER_NO"].ToString()) : dcrSearch.userNo; if (!string.IsNullOrEmpty(dcrSearch.userNo.ToString())) { dcrs = dcrs.Where(s => s.USER_NO == dcrSearch.userNo); } } else { dcrSearch.userNo = null; } if (!string.IsNullOrEmpty(Request.QueryString["ZMNo"]) || search) { dcrSearch.ZMNo = (!search) ? decimal.Parse(Request.QueryString["ZMNo"]) : dcrSearch.ZMNo; if (dcrSearch.ZMNo != 0) { dcrs = dcrs.Where(s => s.USER_NO == dcrSearch.ZMNo); } } else { dcrSearch.ZMNo = 0; } if (!string.IsNullOrEmpty(Request.QueryString["DateFrom"]) || search) { dcrSearch.DateFrom = (!search) ? DateTime.Parse(Request.QueryString["DateFrom"]) : dcrSearch.DateFrom; if (dcrSearch.DateFrom != null) { dcrs = dcrs.Where(s => s.TRN_DCR_DATE > dcrSearch.DateFrom); } } else { dcrSearch.DateFrom = null; } if (!string.IsNullOrEmpty(Request.QueryString["DateTo"]) || search) { dcrSearch.DateTo = (!search) ? DateTime.Parse(Request.QueryString["DateTo"]) : dcrSearch.DateTo; if (dcrSearch.DateTo != null) { dcrs = dcrs.Where(s => s.TRN_DCR_DATE < dcrSearch.DateTo); } } else { dcrSearch.DateTo = null; } if (!string.IsNullOrEmpty(Request.QueryString["RefZMName"]) || search) { dcrSearch.RefZMName = (!search) ? Request.QueryString["RefZMName"] : dcrSearch.RefZMName; if (!string.IsNullOrEmpty(dcrSearch.RefZMName.ToString())) { dcrs = dcrs.Where(s => s.REF_ZM_MOBILE.Contains(dcrSearch.RefZMName)); } } else { dcrSearch.RefZMName = ""; } if (!string.IsNullOrEmpty(Request.QueryString["institution"]) || search) { dcrSearch.institution = (!search) ? Request.QueryString["institution"] : dcrSearch.institution; if (!string.IsNullOrEmpty(dcrSearch.institution.ToString())) { dcrs = dcrs.Where(s => s.SET_INSTITUTE.INSTITUTE_NAME.Contains(dcrSearch.institution)); } } else { dcrSearch.institution = ""; } dcrSearch.dirty = true; return(new Tuple <DCRSearch, IQueryable <TRN_DCR> >(dcrSearch, dcrs)); }