public ActionResult Day(int year, int month, int day) { var date = new DateTime(year, month, day); var flightList = new List <FlightView>(); flightList.AddRange(from flight in _db.Flights.ToList() where flight.Departure.ToShortDateString() == date.ToShortDateString() select CreateFlightView(flight)); flightList.Sort( (x, y) => DateTime.Compare(Convert.ToDateTime(x.Departure.Date + " " + x.Departure.Time), Convert.ToDateTime(y.Departure.Date + " " + y.Departure.Time))); Bounds bounds = CreateBounds(flightList); var flightDay = new FlightDay { Day = date, Flights = flightList, Bounds = bounds }; ViewBag.MonthName = flightDay.Day.ToString("MMMM", CultureInfo.InvariantCulture); return(View(flightDay)); }
//[HttpGet] //public JsonResult GetNextWeek(string dateString) //{ // var dSplit = dateString.Split('-'); // var date = new DateTime(Convert.ToInt32(dSplit[0]), Convert.ToInt32(dSplit[1]), Convert.ToInt32(dSplit[2])); // var week = new Week(); // var sunday = new FlightDay { Day = date.AddDays(1) }; // var sundayFlights = _db.Flights.Where(f => f.DepartureDate.Year == sunday.Day.Year && f.DepartureDate.Month == sunday.Day.Month && f.DepartureDate.Day == sunday.Day.Day).Select(f => f).ToList(); // sunday.Flights = sundayFlights.Select(CreateFlightView).ToList(); // week.Sunday = sunday; // var monday = new FlightDay { Day = date.AddDays(2) }; // var mondayFlights = _db.Flights.Where(f => f.DepartureDate.Year == monday.Day.Year && f.DepartureDate.Month == monday.Day.Month && f.DepartureDate.Day == monday.Day.Day).Select(f => f).ToList(); // monday.Flights = mondayFlights.Select(CreateFlightView).ToList(); // week.Monday = monday; // var tuesday = new FlightDay { Day = date.AddDays(3) }; // var tuesdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == tuesday.Day.Year && f.DepartureDate.Month == tuesday.Day.Month && f.DepartureDate.Day == tuesday.Day.Day).Select(f => f).ToList(); // tuesday.Flights = tuesdayFlights.Select(CreateFlightView).ToList(); // week.Tuesday = tuesday; // var wednesday = new FlightDay { Day = date.AddDays(4) }; // var wednesdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == wednesday.Day.Year && f.DepartureDate.Month == wednesday.Day.Month && f.DepartureDate.Day == wednesday.Day.Day).Select(f => f).ToList(); // wednesday.Flights = wednesdayFlights.Select(CreateFlightView).ToList(); // week.Wednesday = wednesday; // var thursday = new FlightDay { Day = date.AddDays(5) }; // var thursdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == thursday.Day.Year && f.DepartureDate.Month == thursday.Day.Month && f.DepartureDate.Day == thursday.Day.Day).Select(f => f).ToList(); // thursday.Flights = thursdayFlights.Select(CreateFlightView).ToList(); // week.Thursday = thursday; // var friday = new FlightDay { Day = date.AddDays(6) }; // var fridayFlights = _db.Flights.Where(f => f.DepartureDate.Year == friday.Day.Year && f.DepartureDate.Month == friday.Day.Month && f.DepartureDate.Day == friday.Day.Day).Select(f => f).ToList(); // friday.Flights = fridayFlights.Select(CreateFlightView).ToList(); // week.Friday = friday; // var saturday = new FlightDay { Day = date.AddDays(7) }; // var saturdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == saturday.Day.Year && f.DepartureDate.Month == saturday.Day.Month && f.DepartureDate.Day == saturday.Day.Day).Select(f => f).ToList(); // saturday.Flights = saturdayFlights.Select(CreateFlightView).ToList(); // week.Saturday = saturday; // return Json(week.ToJSON(), JsonRequestBehavior.AllowGet); //} //[HttpGet] //public JsonResult GetPrevWeek(string dateString) //{ // var dSplit = dateString.Split('-'); // var date = new DateTime(Convert.ToInt32(dSplit[0]), Convert.ToInt32(dSplit[1]), Convert.ToInt32(dSplit[2])); // var week = new Week(); // var sunday = new FlightDay { Day = date.AddDays(-7) }; // var sundayFlights = _db.Flights.Where(f => f.DepartureDate.Year == sunday.Day.Year && f.DepartureDate.Month == sunday.Day.Month && f.DepartureDate.Day == sunday.Day.Day).Select(f => f).ToList(); // sunday.Flights = sundayFlights.Select(CreateFlightView).ToList(); // week.Sunday = sunday; // var monday = new FlightDay { Day = date.AddDays(-6) }; // var mondayFlights = _db.Flights.Where(f => f.DepartureDate.Year == monday.Day.Year && f.DepartureDate.Month == monday.Day.Month && f.DepartureDate.Day == monday.Day.Day).Select(f => f).ToList(); // monday.Flights = mondayFlights.Select(CreateFlightView).ToList(); // week.Monday = monday; // var tuesday = new FlightDay { Day = date.AddDays(-5) }; // var tuesdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == tuesday.Day.Year && f.DepartureDate.Month == tuesday.Day.Month && f.DepartureDate.Day == tuesday.Day.Day).Select(f => f).ToList(); // tuesday.Flights = tuesdayFlights.Select(CreateFlightView).ToList(); // week.Tuesday = tuesday; // var wednesday = new FlightDay { Day = date.AddDays(-4) }; // var wednesdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == wednesday.Day.Year && f.DepartureDate.Month == wednesday.Day.Month && f.DepartureDate.Day == wednesday.Day.Day).Select(f => f).ToList(); // wednesday.Flights = wednesdayFlights.Select(CreateFlightView).ToList(); // week.Wednesday = wednesday; // var thursday = new FlightDay { Day = date.AddDays(-3) }; // var thursdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == thursday.Day.Year && f.DepartureDate.Month == thursday.Day.Month && f.DepartureDate.Day == thursday.Day.Day).Select(f => f).ToList(); // thursday.Flights = thursdayFlights.Select(CreateFlightView).ToList(); // week.Thursday = thursday; // var friday = new FlightDay { Day = date.AddDays(-2) }; // var fridayFlights = _db.Flights.Where(f => f.DepartureDate.Year == friday.Day.Year && f.DepartureDate.Month == friday.Day.Month && f.DepartureDate.Day == friday.Day.Day).Select(f => f).ToList(); // friday.Flights = fridayFlights.Select(CreateFlightView).ToList(); // week.Friday = friday; // var saturday = new FlightDay { Day = date.AddDays(-1) }; // var saturdayFlights = _db.Flights.Where(f => f.DepartureDate.Year == saturday.Day.Year && f.DepartureDate.Month == saturday.Day.Month && f.DepartureDate.Day == saturday.Day.Day).Select(f => f).ToList(); // saturday.Flights = saturdayFlights.Select(CreateFlightView).ToList(); // week.Saturday = saturday; // return Json(week.ToJSON(), JsonRequestBehavior.AllowGet); //} public ActionResult Calendar(int month, int year) { var dayOfMonth = new DateTime(year, month, 1); var flightCalendar = new FlightCalendar { Month = month, Year = year, MonthName = dayOfMonth.ToString("MMMM", CultureInfo.InvariantCulture), Days = new List <FlightDay>() }; while (dayOfMonth.DayOfWeek != DayOfWeek.Sunday) { dayOfMonth = dayOfMonth.AddDays(-1); } while (dayOfMonth.Month < month + 1) { var flightDay = new FlightDay { Day = dayOfMonth, Flights = new List <FlightView>() }; flightCalendar.Days.Add(flightDay); dayOfMonth = dayOfMonth.AddDays(1); } dayOfMonth = dayOfMonth.AddDays(-1); while (dayOfMonth.DayOfWeek != DayOfWeek.Saturday) { dayOfMonth = dayOfMonth.AddDays(1); var flightDay = new FlightDay { Day = dayOfMonth, Flights = new List <FlightView>() }; flightCalendar.Days.Add(flightDay); } foreach (FlightDay day in flightCalendar.Days) { foreach (Flight f in _db.Flights) { if ((f.Departure.Year == day.Day.Date.Year) && (f.Departure.Month == day.Day.Date.Month) && (f.Departure.Day == day.Day.Date.Day)) { FlightView flightView = CreateFlightView(f); day.Flights.Add(flightView); } } } return(View(flightCalendar)); }