コード例 #1
0
        public ActionResult Index(RentalListingSearchModel model)
        {
            var user     = User.Identity.Name;
            var login    = AccountService.GetLoginByEmail(user);
            var roles    = AccountService.GetUserRolesbyEmail(user);
            var isTenant = roles.Contains(5);

            if (String.IsNullOrWhiteSpace(model.SortOrder))
            {
                model.SortOrder = "Latest Listing";
            }
            model.UserId = login.Id;
            var res = RentalService.GetAllRentalProperties(model);

            model.PagedInput = new PagedInput
            {
                ActionName      = "Index",
                ControllerName  = "Home",
                PagedLinkValues = new RouteValueDictionary(new { SortOrder = model.SortOrder, SearchString = model.SearchString })
            };
            var rvr        = new RouteValueDictionary(new { SearchString = model.SearchString });
            var sortOrders = new List <SortOrderModel>();

            sortOrders.Add(new SortOrderModel {
                SortOrder = "Title", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Title")
            });
            sortOrders.Add(new SortOrderModel {
                SortOrder = "Title(Desc)", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Title(Desc)")
            });
            sortOrders.Add(new SortOrderModel {
                SortOrder = "Lowest Rent", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Lowest Rent")
            });
            sortOrders.Add(new SortOrderModel {
                SortOrder = "Highest Rent", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Highest Rent")
            });
            sortOrders.Add(new SortOrderModel {
                SortOrder = "Latest Available Date", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Latest Available Date")
            });
            sortOrders.Add(new SortOrderModel {
                SortOrder = "Earliest Available Date", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Earliest Available Date")
            });
            sortOrders.Add(new SortOrderModel {
                SortOrder = "Earliest Listing", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Earliest Listing")
            });
            sortOrders.Add(new SortOrderModel {
                SortOrder = "Latest Listing", ActionName = "Index", RouteValues = rvr.AddRouteValue("SortOrder", "Latest Listing")
            });

            var tenant = TenantService.GetTenantByEmail(user);

            model.IsTenantProfileComplete = tenant?.IsCompletedPersonalProfile ?? false;
            model.IsUserTenant            = isTenant;
            model.SortOrders  = sortOrders;
            model.SearchCount = res.SearchCount;
            if (String.IsNullOrWhiteSpace(model.SearchString))
            {
                model.Page = 1;
            }
            model.PageCount         = res.Items.PageCount;
            model.Items             = res.Items;
            TempData["CurrentLink"] = "RentallListing";
            return(View(model));
        }