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); } }
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)); }
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)); }
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)); }
public IActionResult All(int page = 1) { var allTours = new ToursViewModel { Tours = tours.All(page), TotalTours = this.tours.Total(), CurrentPage = page }; return(View(allTours)); }
public IActionResult Abroad(int page = 1) { var toursAbroad = new ToursViewModel { Tours = tours.Abroad(page), TotalTours = this.tours.TotalAbroad(), CurrentPage = page }; return(View(toursAbroad)); }
public IActionResult Bulgaria(int page = 1) { var toursBulgaria = new ToursViewModel { Tours = tours.Bulgaria(page), TotalTours = this.tours.TotalBulgaria(), CurrentPage = page }; return(View(toursBulgaria)); }
private void FillGrid() { tvm = new ToursViewModel(); DataGridTours.ItemsSource = null; DataGridTours.ItemsSource = tvm.Tours; }
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)); }