public async Task <ActionResult> Search(CabinSearch cabinSearch)
        {
            if (cabinSearch.Rooms == null)
            {
                cabinSearch.Rooms = "1";
            }
            else
            {
                cabinSearch.Rooms = cabinSearch.Rooms.Remove(cabinSearch.Rooms.Length - 14);
            }
            if (cabinSearch.Rooms == ">10")
            {
                cabinSearch.Rooms = "11";
            }

            var cabins = await _service.GetCabins(cabinSearch.SearchWord, cabinSearch.Arrival, cabinSearch.Departure, cabinSearch.Rooms);

            ViewBag.FirstEntry = false;

            if (cabinSearch.Arrival != DateTime.MinValue)
            {
                ViewBag.Arrival = cabinSearch.Arrival.ToString("dd'.'MM'.'yyyy");
            }
            if (cabinSearch.Departure != DateTime.MinValue)
            {
                ViewBag.Departure = cabinSearch.Departure.ToString("dd'.'MM'.'yyyy");
            }

            var pageNumbers = 1;
            var pageSize    = 10;

            if (cabins != null)
            {
                switch (cabinSearch.Sort)
                {
                case "Hinta - Halvimmat ensin":
                    cabins = cabins.OrderBy(cabin => cabin.CabinPricePerDay);
                    break;

                case "Hinta - Kalleimmat ensin":
                    cabins = cabins.OrderByDescending(cabin => cabin.CabinPricePerDay);
                    break;

                case "Makuuhuoneet - Max.":
                    cabins = cabins.OrderByDescending(cabin => cabin.Rooms);
                    break;

                case "Makuuhuoneet - Min.":
                    cabins = cabins.OrderBy(cabin => cabin.Rooms);
                    break;

                default:
                    cabins           = cabins.OrderBy(cabin => cabin.Rooms);
                    cabinSearch.Sort = "Makuuhuoneet - Min.";
                    break;

                    //case "Pinta-ala - Suurimmat ensin":
                    //    cabins = cabins.OrderByDescending(cabin => cabin.Area);
                    //    break;
                    //case "Pinta-ala - Pienimmät ensin":
                    //    cabins = cabins.OrderBy(cabin => cabin.Area);
                    //    break;
                    //case "Nimi - Laskeva aakkosjärjestys":
                    //    cabins = cabins.OrderBy(cabin => cabin.CabinName);
                    //    break;
                    //case "Nimi - Nouseva aakkosjärjestys":
                    //    cabins = cabins.OrderByDescending(cabin => cabin.CabinName);
                    //    break;
                }

                ViewBag.SelectedSorting = cabinSearch.Sort;

                // Counting page numbers
                if (cabins.Count() > pageSize)
                {
                    pageNumbers += cabins.Count() / pageSize;
                    if (cabins.Count() % pageSize == 0)
                    {
                        pageNumbers--;
                    }
                }

                if (cabinSearch.PageNumber == 0)
                {
                    cabinSearch.PageNumber = 1;
                }

                cabins = cabins.Skip((cabinSearch.PageNumber - 1) * pageSize)
                         .Take(pageSize);

                ViewBag.Cabins = cabins;

                ViewBag.PageNumbers = pageNumbers;
            }

            return(View(cabinSearch));
        }
 public ActionResult ByResort(CabinSearch cabinSearch)
 {
     return(RedirectToAction("Search", cabinSearch));
 }