Beispiel #1
0
        public static List <TimeTable> ToDataModels(TimeTableWithWeekDaysInputModel timeTable)
        {
            List <TimeTable> result    = new List <TimeTable>();
            DateTime         startdate = timeTable.StartDate;

            while (timeTable.EndDate.CompareTo(startdate) >= 0)
            {
                foreach (var weekDay in timeTable.WeekDays)
                {
                    if ((int)startdate.DayOfWeek == weekDay)
                    {
                        result.Add(new TimeTable()
                        {
                            GroupId    = timeTable.GroupId,
                            RoomNumber = timeTable.RoomNumber,
                            Day        = startdate,
                            TimeStart  = TimeSpan.Parse(timeTable.TimeStart),
                            TimeEnd    = TimeSpan.Parse(timeTable.TimeEnd)
                        });
                    }
                }

                startdate = startdate.AddDays(1);
            }

            return(result);
        }
Beispiel #2
0
        public async Task <ActionResult <TimeTableWithCourseNameOutputModel> > GetTimeTableConflicts([FromBody] TimeTableWithWeekDaysInputModel model)
        {
            if (model == null)
            {
                return(BadRequest("Model is empty"));
            }
            List <TimeTable> newTimeTable = TimeTableWithWeekDaysMapper.ToDataModels(model);
            List <TimeTable> result       = await lessonStorage.GetTimeTableConflicts(newTimeTable);

            if (result.Count != 0)
            {
                return(Ok(TimeTableWithCourseNameMapper.ToOutputModels(result)));
            }

            foreach (var timetable in newTimeTable)
            {
                await lessonStorage.AddOrUpdateTimeTable(timetable);
            }
            return(Ok());
        }