public ActionResult _UpcomingEvents(int mobile = 0)
        {
            List <CEvent>         myUpcomingEvents;
            List <CEvent>         events;
            List <CEvent>         recurringEvents;
            CRecurringEventFilter myRecurringEventFilter;

            ViewBag.Mobile = mobile;

            DateTime myStartParam = DateTime.Now;
            DateTime myEndParam   = DateTime.Parse(myStartParam.ToShortDateString()).AddMonths(2);

            events = (from evt in context.CEvents
                      where evt.start.Value >= myStartParam && evt.end.Value <= myEndParam && evt.recurranceType == 0
                      select evt).ToList();

            recurringEvents = (from evt in context.CEvents
                               where evt.recurranceType > 0 && myEndParam >= evt.start.Value
                               select evt).ToList();

            myRecurringEventFilter = new CRecurringEventFilter();
            //Add Start month events
            events = myRecurringEventFilter.AddReurringEventsBetweenDates(myStartParam, myEndParam, myStartParam.Month, events, recurringEvents);
            //Add End month events
            events = myRecurringEventFilter.AddReurringEventsBetweenDates(myStartParam, myEndParam, myEndParam.Month, events, recurringEvents);
            events.RemoveAll(e => Convert.ToDateTime(e.start) < myStartParam);
            events = events.OrderBy(evt => Convert.ToDateTime(evt.start)).ToList();

            return(PartialView("_UpcomingEvents", events));
        }
        public object MonthEvents(string start, string end, string currentDate) // Not List<Item>
        {
            List <CEvent>         events;
            List <CEvent>         recurringEvents;
            CRecurringEventFilter myRecurringEventFilter;

            DateTime myStartParam = DateTime.ParseExact(start, "yyyy-MM-dd", CultureInfo.CurrentCulture);
            DateTime myEndParam   = DateTime.ParseExact(end, "yyyy-MM-dd", CultureInfo.CurrentCulture);

            int currentMonth;

            //DateTime myStartParam = new DateTime(1970, 1, 1).AddSeconds(int.Parse(start));
            //DateTime myEndParam = new DateTime(1970, 1, 1).AddSeconds(int.Parse(end));

            //Sort out the current month
            if (myStartParam.Month + 2 == myEndParam.Month)
            {
                currentMonth = myStartParam.Month + 1;
            }
            else
            {
                currentMonth = myStartParam.Month;
            }

            if (myStartParam.Month > myEndParam.Month)
            {
                currentMonth = 12;
            }

            if (myStartParam.Month == 12 && myEndParam.Month < 12)
            {
                currentMonth = 1;
            }

            events = (from evt in context.CEvents
                      where evt.start.Value >= myStartParam && evt.end.Value <= myEndParam && evt.recurranceType == 0
                      select evt).ToList();

            recurringEvents = (from evt in context.CEvents
                               where evt.recurranceType > 0 && myEndParam >= evt.start.Value
                               select evt).ToList();

            myRecurringEventFilter = new CRecurringEventFilter();
            events = myRecurringEventFilter.AddReurringEventsBetweenDates(myStartParam, myEndParam, currentMonth, events, recurringEvents);

            return(Json(JsonConvert.SerializeObject(events), JsonRequestBehavior.AllowGet).Data);
        }
        public FileContentResult GetTodaysEventImage()
        {
            List <CEvent>         events;
            List <CEvent>         recurringEvents;
            CRecurringEventFilter myRecurringEventFilter;

            DateTime myStartParam = DateTime.Now;
            DateTime myEndParam   = DateTime.Parse(myStartParam.ToShortDateString()).AddDays(1);

            events = (from evt in context.CEvents
                      where evt.start.Value >= myStartParam && evt.end.Value <= myEndParam && evt.recurranceType == 0
                      select evt).ToList();

            recurringEvents = (from evt in context.CEvents
                               where evt.recurranceType > 0 && myEndParam >= evt.start.Value
                               select evt).ToList();

            if (events == null)
            {
                events = new List <CEvent>();
            }

            myRecurringEventFilter = new CRecurringEventFilter();
            events = myRecurringEventFilter.AddReurringEventsBetweenDates(myStartParam, myEndParam, myStartParam.Month, events, recurringEvents);
            events = events.FindAll(evt => Convert.ToDateTime(evt.start).Date == myStartParam.Date);


            int myEventImageId = 10;//this is the placeholder image id

            if (events.Count > 0)
            {
                foreach (CEvent evt in events)
                {
                    if (evt.imgId != null)
                    {
                        myEventImageId = Convert.ToInt32(evt.imgId);
                        break;
                    }
                }
            }
            CImage myImage = context.FindPhotoById(myEventImageId);

            return(File(myImage.imageFile, myImage.imageMimeType));
        }