Пример #1
0
        public JsonTours ToureList()
        {
            JsonTours             jsonTours        = new JsonTours();
            List <ToursViewModel> tourelinklistobj = new List <ToursViewModel>();

            try
            {
                var ListToure = _place.PlaceToureId();
                foreach (var item in ListToure)
                {
                    ToursViewModel tourelistobj = new ToursViewModel();
                    tourelistobj.Name        = item.Name;
                    tourelistobj.Date        = item.DateCreate;
                    tourelistobj.CategoryId  = item.CategoryId;
                    tourelistobj.GalleryId   = item.GalleryId;
                    tourelistobj.DetailId    = item.DetailId;
                    tourelistobj.Cost        = item.Cost;
                    tourelistobj.PhoneNumber = item.PhoneNumber;
                    tourelinklistobj.Add(tourelistobj);
                }
                jsonTours.result = tourelinklistobj;
                return(jsonTours);
            }
            catch (Exception ex)
            {
                string s = ex.Message;
                return(jsonTours);
            }
        }
Пример #2
0
        public IActionResult SearchByPrice(decimal priceFrom, decimal priceTo, int page = 1)
        {
            var toursBySearchTerm = new ToursViewModel
            {
                Tours       = tours.ByPriceRange(priceFrom, priceTo, page),
                TotalTours  = this.tours.TotalByPriceRange(priceFrom, priceTo),
                CurrentPage = page
            };

            return(View(toursBySearchTerm));
        }
Пример #3
0
        public IActionResult Search(string searchTerm, int page = 1)
        {
            var toursBySearchTerm = new ToursViewModel
            {
                Tours       = tours.BySearchTerm(searchTerm, page),
                TotalTours  = this.tours.TotalBySearchTerm(searchTerm),
                CurrentPage = page
            };

            return(View(toursBySearchTerm));
        }
Пример #4
0
        public IActionResult ByMonth(int month, int page = 1)
        {
            var toursByMonth = new ToursViewModel
            {
                Tours       = tours.ByMonth(month, page),
                TotalTours  = this.tours.TotalForMonth(month),
                CurrentPage = page
            };

            return(View(toursByMonth));
        }
Пример #5
0
        public IActionResult All(int page = 1)
        {
            var allTours = new ToursViewModel
            {
                Tours       = tours.All(page),
                TotalTours  = this.tours.Total(),
                CurrentPage = page
            };

            return(View(allTours));
        }
Пример #6
0
        public IActionResult Abroad(int page = 1)
        {
            var toursAbroad = new ToursViewModel
            {
                Tours       = tours.Abroad(page),
                TotalTours  = this.tours.TotalAbroad(),
                CurrentPage = page
            };

            return(View(toursAbroad));
        }
Пример #7
0
        public IActionResult Bulgaria(int page = 1)
        {
            var toursBulgaria = new ToursViewModel
            {
                Tours       = tours.Bulgaria(page),
                TotalTours  = this.tours.TotalBulgaria(),
                CurrentPage = page
            };

            return(View(toursBulgaria));
        }
Пример #8
0
 private void FillGrid()
 {
     tvm = new ToursViewModel();
     DataGridTours.ItemsSource = null;
     DataGridTours.ItemsSource = tvm.Tours;
 }
Пример #9
0
        public async Task <ActionResult <ToursViewModel> > Post2([FromBody] ToursListViewModel parameters)
        {
            var filtersList = GetListFilters(_context);        // list існуючих фільтрів

            long[] filterValueSearchList = parameters.Filters; //масив ID вибраних фільтрів
            var    url = _configuration.GetValue <string>("ImagesHotelUrl");

            int            page     = parameters.CurrentPage;
            int            pageSize = 4;
            int            pageNo   = page - 1;
            ToursViewModel model    = new ToursViewModel();

            var query = _context
                        .Tours
                        .Include(s => s.RoomType)
                        .Include(s => s.RoomType.Hotel)
                        //.ThenInclude(hotel => hotel.Name)
                        .Include(d => d.RoomType.Hotel.Region)
                        //.ThenInclude(region => region.Name)
                        .Include(f => f.RoomType.Hotel.Region.Country)
                        //.ThenInclude(country => country.Name)
                        .Include(s => s.RoomType.Hotel.HotelImages)
                        .Include(z => z.CityDeparture)
                        //.ThenInclude(city => city.Name)
                        .Include(t => t.Filtres)
                        .AsQueryable();

            if (parameters.Filters.Length != 0)
            {
                foreach (var fName in filtersList)
                {
                    int countFilter = 0; //Кількість співпадінь у даній групі фільтрів
                    var predicate   = PredicateBuilder.False <Tour>();
                    foreach (var fValue in fName.Children)
                    {
                        for (int i = 0; i < filterValueSearchList.Length; i++)
                        {
                            var idV = fValue.Id;
                            if (filterValueSearchList[i] == idV)
                            {
                                predicate = predicate
                                            .Or(p => p.Filtres
                                                .Any(f => f.FilterValueId == idV));
                                countFilter++;
                            }
                        }
                    }
                    if (countFilter != 0)
                    {
                        query = query.Where(predicate);
                    }
                }
            }

            if (!String.IsNullOrEmpty(parameters.SearchString))
            {
                query = query.Where(s => s.RoomType.Hotel.Name.Contains(parameters.SearchString) ||
                                    s.RoomType.Hotel.Region.Name.Contains(parameters.SearchString));
            }

            switch (parameters.SortOrder)
            {
            case "name":
                query = query.OrderBy(c => c.RoomType.Hotel.Name);
                break;

            case "name_desc":
                query = query.OrderByDescending(c => c.RoomType.Hotel.Name);
                break;

            case "rate":
                query = query.OrderBy(c => c.RoomType.Hotel.Rate);
                break;

            case "rate_desc":
                query = query.OrderByDescending(c => c.RoomType.Hotel.Rate);
                break;

            default:
                query = query.OrderBy(c => c.RoomType.Hotel.Name);
                break;
            }

            int count = query.Count();

            var result = await query.Select(u => new TourListViewModel
            {
                Id                    = u.Id,
                СityDeparture         = u.CityDeparture.Name,
                Name                  = u.RoomType.Hotel.Name,
                HotelNormalizedName   = u.RoomType.Hotel.NormalizedName,
                Region                = u.RoomType.Hotel.Region.Name,
                Country               = u.RoomType.Hotel.Region.Country.Name,
                CountryNormalizedName = u.RoomType.Hotel.Region.Country.NormalizedName,
                Description           = u.RoomType.Hotel.Description,
                Price                 = u.Price,
                Rate                  = u.RoomType.Hotel.Rate,
                Class                 = u.RoomType.Hotel.Class,
                HotelFood             = u.RoomType.Hotel.HotelFood.Name,
                FromData              = u.FromData,
                Date                  = u.FromData.ToString(),
                DaysCount             = u.DaysCount,
                Discount              = u.Discount,
                DiscountPrice         = u.DiscountPrice,
                PlaceCount            = u.RoomType.PlacesCount,
                ImagePath             = u.RoomType.Hotel.HotelImages.FirstOrDefault(f => f.HotelId == u.RoomType.HotelId) == null
                            ? Path.Combine(_url, "no-photo.jpg")
                            : Path.Combine(_url, u.RoomType.Hotel.NormalizedName, "1200_" + u.RoomType.Hotel.HotelImages.FirstOrDefault(
                                               f => f.HotelId == u.RoomType.HotelId).HotelImageUrl)
            })
                         .Skip(pageNo * pageSize)
                         .Take(pageSize).ToListAsync();

            model.Tours       = result;
            model.TotalPages  = (int)Math.Ceiling((double)count / pageSize);
            model.CurrentPage = page;
            model.CountItem   = count;
            return(Ok(model));
        }