// GET: Holiday
 public ActionResult Index()
 {
     Random rand = new Random();
     Holiday h = new Holiday();
     switch (rand.Next(3))
     {
         case 0:
             h.Name = "Queens Birthday";
             h.Date = new DateTime(2016, 6, 6);
             h.ImageFile = "queen.jpg";
             break;
         case 1:
             h.Name = "Halloween";
             h.Date = new DateTime(2016, 10, 31);
             h.ImageFile = "halloween.jpg";
             break;
         case 2:
             h.Name = "Boxing Day";
             h.Date = new DateTime(2016, 12, 26);
             h.ImageFile = "boxing.jpg";
             break;
     }
     ViewBag.Name = h.Name;
     ViewBag.Days = (int)(h.Date - DateTime.Now).TotalDays;
     ViewBag.Image = h.ImageFile;
     return View();
 }
        // GET: Holiday
        public ActionResult Index()
        {
            // Avoid literals
            int oneYear = 1;
            int nHolidays = 3;
            DateTime now = DateTime.Now;
            int year = now.Year;

            // Create our three holidays - would look different in proper architecture
            // each holiday would probably have it's own class and inherit from Holiday base

            Holiday haloween = new Holiday
            {
                Name = "Haloween",
                Date = new DateTime(year, 10, 31),
                ImageFileName = "/Images/Holidays/haloween.JPG"
            };

            Holiday boxingDay = new Holiday
            {
                Name = "Boxing Day",
                Date = new DateTime(year, 12, 26),
                ImageFileName = "/Images/Holidays/boxing_day.PNG"
            };

            Holiday queensBirthday = new Holiday
            {
                Name = "Queens Birthday",
                Date = new DateTime(year, 6, 6),
                ImageFileName = "/Images/Holidays/queens_birthday.PNG"
            };

            // Create empty holiday
            Holiday returnHoliday = new Holiday();

            // Generate random number based on number of holidays
            Random r = new Random();
            int rHoliday = r.Next(nHolidays);

            // Switch on generated number - this would be in a factory
            switch (rHoliday)
            {
                case 0:
                    returnHoliday = haloween;
                    break;
                case 1:
                    returnHoliday = boxingDay;
                    break;
                case 2:
                    returnHoliday = queensBirthday;
                    break;
            }

            // Check to see that we haven't already had the date this year
            // if we have, simply add one year so that we count down till
            // the next occurance of the holiday
            if (returnHoliday.Date < now)
                returnHoliday.Date = returnHoliday.Date.AddYears(oneYear);

            // Work out & set DaysUntilHoliday property
            returnHoliday.DaysUntilHoliday = (int)(returnHoliday.Date - now).TotalDays;

            // Return the View and pass the holiday
            return View(returnHoliday);
        }