public bool Save(ScheduleDTO scheduleDTO) { if (scheduleDTO.ID == 0) { scheduleDTO.ID = MockDatabase.UniqueID; MockDatabase.UniqueID++; MockDatabase.Schedules.Add(scheduleDTO); } else { var schedule = MockDatabase.Schedules.FirstOrDefault(s => s.ID == scheduleDTO.ID); if (schedule == null) return false; schedule.Title = scheduleDTO.Title; schedule.Frequency = scheduleDTO.Frequency; schedule.DaysOfWeek = scheduleDTO.DaysOfWeek; schedule.WeeklyInterval = scheduleDTO.WeeklyInterval; schedule.MonthlyInterval = scheduleDTO.MonthlyInterval; schedule.NumberOfOccurrences = scheduleDTO.NumberOfOccurrences; schedule.StartDate = scheduleDTO.StartDate; schedule.EndDate = scheduleDTO.EndDate; schedule.StartTime = scheduleDTO.StartTime; schedule.EndTime = scheduleDTO.EndTime; } return true; }
public ActionResult CreateSchedule(ScheduleDTO scheduleDTO) { // TODO: validate the DTO client-side and with FluentValidation! if (string.IsNullOrEmpty(scheduleDTO.Title)) { return View(scheduleDTO); } var repository = new ScheduleRepository(); repository.Save(scheduleDTO); return RedirectToAction("Index", "Home"); }
public ActionResult CreateSchedule(DateTime eventDate) { var scheduleDTO = new ScheduleDTO() { StartDate = eventDate, StartTime = new TimeSpan(DateTime.Now.Hour, 0, 0), EndTime = new TimeSpan(DateTime.Now.Hour + 1, 0, 0), NumberOfOccurrences = 0 }; LoadViewBag(); return View(scheduleDTO); }
private IEnumerable<object> GetSpecificNumberOfOccurrencesForDateRange(ScheduleDTO scheduleDTO, DateRange range) { var calendarObjects = new List<object>(); var occurrences = scheduleDTO.Schedule.Occurrences(range).ToArray(); for (var i = 0; i < scheduleDTO.NumberOfOccurrences; i++) { var date = occurrences.ElementAtOrDefault(i); calendarObjects.Add(new { id = scheduleDTO.ID, title = scheduleDTO.Title, start = ToUnixTimestamp(date + scheduleDTO.StartTime), end = ToUnixTimestamp(date + scheduleDTO.EndTime), url = Url.Action("ScheduleOccurrence", "Home", new { id = scheduleDTO.ID, occurrenceDate = date }), allDay = false }); } return calendarObjects; }
private IEnumerable<object> GetAllOccurrencesForDateRange(ScheduleDTO scheduleDTO, DateRange range) { var calendarObjects = new List<object>(); foreach (var date in scheduleDTO.Schedule.Occurrences(range)) { calendarObjects.Add(new { id = scheduleDTO.ID, title = scheduleDTO.Title, start = ToUnixTimestamp(date + scheduleDTO.StartTime), end = ToUnixTimestamp(date + scheduleDTO.EndTime), url = Url.Action("ScheduleOccurrence", "Home", new { id = scheduleDTO.ID, occurrenceDate = date }), allDay = false }); } return calendarObjects; }