Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        //[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));
        }