Exemple #1
0
            public EventItem(DayScheduleItemsArranger arranger, BaseViewItemHomeworkExam item) : base(arranger)
            {
                Item = item;

                StartTime = item.GetDueDateWithTime().TimeOfDay;
                DateTime endTime;

                if (item.TryGetEndDateWithTime(out endTime))
                {
                    EndTime = endTime.TimeOfDay;
                }

                if (EndTime - arranger.MinDuration < StartTime)
                {
                    EndTime = StartTime + arranger.MinDuration;

                    // If that pushes it past 24 hours
                    if (EndTime >= new TimeSpan(24, 0, 0))
                    {
                        // Move the start time up to accomodate the min duration
                        EndTime   = new TimeSpan(23, 59, 0);
                        StartTime = EndTime - arranger.MinDuration;
                    }
                }
            }
        /// <summary>
        /// Returns something like "Due 11:00 AM" or "Due today" or just "11:00 AM" if event
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public static string GetDueTimeAsString(BaseViewItemHomeworkExam item)
        {
            string answer = "";

            if (item is ViewItemHomework)
            {
                answer += "Due ";
            }

            switch (item.GetActualTimeOption())
            {
            case DataLayer.DataItems.DataItemMegaItem.TimeOptions.BeforeClass:
            case DataLayer.DataItems.DataItemMegaItem.TimeOptions.Custom:
            case DataLayer.DataItems.DataItemMegaItem.TimeOptions.StartOfClass:
            case DataLayer.DataItems.DataItemMegaItem.TimeOptions.EndOfClass:
                answer += item.GetDueDateWithTime().ToString("t");
                break;

            case DataLayer.DataItems.DataItemMegaItem.TimeOptions.DuringClass:
                answer += "during class";
                break;

            case DataLayer.DataItems.DataItemMegaItem.TimeOptions.AllDay:
            default:
                answer += "today";
                break;
            }

            if (item.TryGetEndDateWithTime(out DateTime endTime))
            {
                answer += " to " + endTime.ToString("t");
            }

            return(answer.Substring(0, 1).ToUpper() + answer.Substring(1));
        }