コード例 #1
0
        public ActionResult Actual()
        {
            var page = string.IsNullOrWhiteSpace(Request["page"]) ? 1 : int.Parse(Request["page"]);

            var pageSize = string.IsNullOrWhiteSpace(Request["pageSize"]) ? 15 : int.Parse(Request["pageSize"]);

            var queryName = Request["queryName"];

            int count;

            Guid area;

            Guid.TryParse(Request["AreaGuid"], out area);

            Guid street;

            Guid.TryParse(Request["StreetGuid"], out street);

            Guid address;

            Guid.TryParse(Request["AddressGuid"], out address);

            var conditions    = new List <Expression <Func <HotelRestaurant, bool> > >();
            var paramsObjects = new Dictionary <string, string>();

            if (area != Guid.Empty)
            {
                Expression <Func <HotelRestaurant, bool> > condition = ex => ex.DistrictId == area;
                conditions.Add(condition);
                paramsObjects.Add("area", area.ToString());
            }

            if (street != Guid.Empty)
            {
                Expression <Func <HotelRestaurant, bool> > condition = ex => ex.StreetId == street;
                conditions.Add(condition);
                paramsObjects.Add("street", street.ToString());
            }

            if (address != Guid.Empty)
            {
                Expression <Func <HotelRestaurant, bool> > condition = ex => ex.AddressId == address;
                conditions.Add(condition);
                paramsObjects.Add("address", street.ToString());
            }

            var hotelList = ProcessInvoke <HotelRestaurantProcess>()
                            .GetPagedHotelStatus(page, pageSize, queryName, out count, conditions);

            var model = new ActualViewModel()
            {
                Count        = count,
                PageSize     = pageSize,
                QueryName    = queryName,
                PageCount    = (count % pageSize) > 0 ? (count / pageSize) + 1 : (count / pageSize),
                PageIndex    = page,
                HotelsStatus = hotelList
            };

            GetActualRelatedItems(paramsObjects, model);

            return(View(model));
        }
コード例 #2
0
        private void GetActualRelatedItems(Dictionary <string, string> paramsObjects, ActualViewModel model)
        {
            var areaList = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = "全部", Value = ""
                }
            };

            var streetList = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = "全部", Value = ""
                }
            };

            var addressList = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = "全部", Value = ""
                }
            };

            areaList.AddRange(ProcessInvoke <UserDictionaryProcess>()
                              .GetDistrictSelectList()
                              .Select(obj => new SelectListItem()
            {
                Text = obj.Value, Value = obj.Key.ToString()
            })
                              .ToList());

            if (paramsObjects.ContainsKey("area"))
            {
                var selectArea = paramsObjects["area"];

                model.AreaGuid = Guid.Parse(selectArea);

                streetList.AddRange(ProcessInvoke <UserDictionaryProcess>()
                                    .GetChildDistrict(Guid.Parse(selectArea))
                                    .Select(obj => new SelectListItem()
                {
                    Text = obj.Value, Value = obj.Key.ToString()
                })
                                    .ToList());

                if (paramsObjects.ContainsKey("street"))
                {
                    var selectStreet = paramsObjects["street"];
                    model.StreetGuid = Guid.Parse(selectStreet);
                    addressList.AddRange(ProcessInvoke <UserDictionaryProcess>()
                                         .GetChildDistrict(Guid.Parse(selectArea))
                                         .Select(obj => new SelectListItem()
                    {
                        Text = obj.Value, Value = obj.Key.ToString()
                    })
                                         .ToList());
                }

                if (paramsObjects.ContainsKey("address"))
                {
                    var selectAddress = paramsObjects["address"];
                    model.AddressGuid = Guid.Parse(selectAddress);
                }
            }

            model.AreaListItems    = areaList;
            model.StreetListItems  = streetList;
            model.AddressListItems = addressList;
        }