public ActionResult ManageUser(int page = 1, int PageSize = 5, string searchString = "", string sort = "", string sortdir = "ASC", string message = "") { _userServices = new UserDetailServices(); ViewBag.sortdir = "ASC" == sortdir ? "DESC" : "ASC"; sort = String.IsNullOrEmpty(sort) ? "CreatedDate" : sort; var userDetail = _userServices.GetAllUsers(); if (userDetail != null) { switch (sort) { case "Name": if (sortdir == "DESC") { userDetail = userDetail.OrderByDescending(tes => tes.Name); } else { userDetail = userDetail.OrderBy(tes => tes.Name); } break; case "PhoneNumber": if (sortdir == "DESC") { userDetail = userDetail.OrderByDescending(tes => tes.PhoneNumber); } else { userDetail = userDetail.OrderBy(tes => tes.PhoneNumber); } break; case "Address": if (sortdir == "DESC") { userDetail = userDetail.OrderByDescending(tes => tes.Address); } else { userDetail = userDetail.OrderBy(tes => tes.Address); } break; case "Email": if (sortdir == "DESC") { userDetail = userDetail.OrderByDescending(tes => tes.Email); } else { userDetail = userDetail.OrderBy(tes => tes.Email); } break; default: userDetail = userDetail.OrderByDescending(tes => tes.Name); break; } if (!String.IsNullOrEmpty(searchString)) { userDetail = userDetail.Where(p => p.Address != null && p.Name != null && p.PhoneNumber != null).ToList(); userDetail = userDetail.Where(s => (s.Name.ToUpper().Contains(searchString.ToUpper()) || s.PhoneNumber.ToUpper().Contains(searchString.ToUpper()) || s.Address.ToUpper().Contains(searchString.ToUpper()))); } UserDetailEntity model = new UserDetailEntity(); var userlist = userDetail.Skip((page - 1) * PageSize).Take(PageSize).ToList(); if (userlist.Count > 0) { model.lstUser = userlist; } else { model.lstUser = null; } ViewBag.Message = message; ViewBag.CurrentPage = page; ViewBag.PageSize = PageSize; ViewBag.TotalPages = Math.Ceiling((double)userDetail.Count() / PageSize); model.Total = userDetail.Count(); return(View(model)); } return(View()); }