Example #1
0
        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));
        }
Example #2
0
 public ActionResult ViewCityIndex()
 {
     ManageCityViewModel vmCity = new ManageCityViewModel();
     vmCity.Read();
     return View(vmCity);
 }