public ActionResult Index(int Page = 1, int PageSize = 25, string FilterBy = "all", string SearchTerm = null) { logger.Debug("User " + WebSecurity.GetUserId(User.Identity.Name) + " \"" + User.Identity.Name + "\" visited AccountsManagement/City/Index"); ManageCityViewModel viewModel = new ManageCityViewModel(); viewModel.FilterBy = FilterBy; viewModel.SearchTerm = SearchTerm; if (System.Web.HttpContext.Current.Request.HttpMethod == "POST") { Page = 1; } if (PageSize == 0) { PageSize = 25; } viewModel.PageSize = PageSize; if (!string.IsNullOrEmpty(FilterBy)) { UserProfile user = repository.Users.FirstOrDefault(u => u.UserId == WebSecurity.CurrentUserId); if (Roles.IsUserInRole("Administrator")) { if (FilterBy == "all" || string.IsNullOrEmpty(SearchTerm)) { viewModel.PaginatedCityList = repository.City .OrderByDescending(c => c.CityID) .ToPaginatedList <City>(Page, PageSize); } else if (!string.IsNullOrEmpty(SearchTerm)) { if (FilterBy == "name") { viewModel.PaginatedCityList = repository.City .Where(c => c.Name.ToLower().IndexOf(SearchTerm.ToLower()) != -1) .OrderByDescending(c => c.CityID) .ToPaginatedList <City>(Page, PageSize); } else if (FilterBy == "area") { viewModel.PaginatedCityList = repository.City .Where(c => c.Area.ToLower().IndexOf(SearchTerm.ToLower()) != -1) .OrderByDescending(c => c.CityID) .ToPaginatedList <City>(Page, PageSize); } else if (FilterBy == "region") { viewModel.PaginatedCityList = repository.City .Where(c => c.Region.ToLower().IndexOf(SearchTerm.ToLower()) != -1) .OrderByDescending(c => c.CityID) .ToPaginatedList <City>(Page, PageSize); } //else if (FilterBy == "city") //{ // viewModel.PaginatedCityList = repository.City // .Where(i => i.City.Name.ToLower().IndexOf(SearchTerm.ToLower()) != -1) // .OrderByDescending(i => i.InstitutionID) // .ToPaginatedList<Institution>(Page, PageSize); //} } } else { //if (FilterBy == "all" || string.IsNullOrEmpty(SearchTerm)) //{ // viewModel.PaginatedCityList = repository.City // .Where(i => i.UsersCanModify.FirstOrDefault(u => u.UserId == WebSecurity.CurrentUserId) != null) // .OrderByDescending(i => i.CityID) // .ToPaginatedList<Institution>(Page, PageSize); //} //else if (!string.IsNullOrEmpty(SearchTerm)) //{ // if (FilterBy == "name") // { // viewModel.PaginatedInstitutionList = repository.Institutions // .Where(i => i.UsersCanModify.FirstOrDefault(u => u.UserId == WebSecurity.CurrentUserId) != null) // .Where(i => i.Name.ToLower().IndexOf(SearchTerm.ToLower()) != -1) // .OrderByDescending(i => i.InstitutionID) // .ToPaginatedList<Institution>(Page, PageSize); // } // //else if (FilterBy == "city") // //{ // // viewModel.PaginatedInstitutionList = repository.Institutions // // .Where(i => i.UsersCanModify.FirstOrDefault(u => u.UserId == WebSecurity.CurrentUserId) != null) // // .Where(i => i.City.Name.ToLower().IndexOf(SearchTerm.ToLower()) != -1) // // .OrderByDescending(i => i.InstitutionID) // // .ToPaginatedList<Institution>(Page, PageSize); // //} //} } } return(View(viewModel)); }
public ActionResult ViewCityIndex() { ManageCityViewModel vmCity = new ManageCityViewModel(); vmCity.Read(); return View(vmCity); }