예제 #1
0
        public async Task <OperationDatails> CreateTimetableOfTheDayAsync(TimetableOfTheDayDTO timetableOfTheDayDTO, int teacherId, int timetableId)
        {
            if (timetableOfTheDayDTO == null)
            {
                throw new ServiceException("Timetable is null!", false);
            }
            var teacherProfile = await _database.teacherProfileRepository.GetByIdAsync(teacherId);

            if (teacherProfile == null)
            {
                throw new ServiceException("User with this id is not founnd", false);
            }
            if (teacherProfile.ActiveProfile == false)
            {
                return(new OperationDatails("User with this id is not actived!", false));
            }
            if (teacherProfile.ClassId == 0)
            {
                return(new OperationDatails("User with this id havent got a class", false));
            }
            if (teacherProfile.timetableOfTheWeeks == null)
            {
                return(new OperationDatails("User with this id havent got a timetable", false));
            }
            var timetable = await _database.timeTableOfTheWeekRepository.GetByIdAsync(timetableId);

            if (timetable == null)
            {
                throw new ServiceException("Timetable with this id is null", false);
            }
            var timetableOfTheDay = await _database.timetableOfTheDayRepository.GetWhereAsync(t => t.NumberOfLesson == timetableOfTheDayDTO.NumberOfLesson && t.DayOfWeek == timetableOfTheDayDTO.DayOfWeek);

            if (timetableOfTheDay.Count != 0)
            {
                return(new OperationDatails("Such lesson already is exists", false));
            }
            if (timetable.TeacherUserProfileId != teacherId)
            {
                return(new OperationDatails("This timetable mored not your", false));
            }
            timetableOfTheDayDTO.TeacherName          = teacherProfile.FirstName + " " + teacherProfile.LastName;
            timetableOfTheDayDTO.TimetableOfTheWeekId = timetableId;
            _database.timetableOfTheDayRepository.Create(_mapper.Map <TimeTableOfTheDay>(timetableOfTheDayDTO));
            await _database.SaveAsync();

            return(new OperationDatails("Timetable is created!", true));
        }
예제 #2
0
        public async Task <OperationDatails> EditTimeTableOfTheDayAsync(TimetableOfTheDayDTO timetableOfTheDayDTO, int teacherId, int timetableId)
        {
            if (timetableOfTheDayDTO == null)
            {
                throw new ServiceException("Timetable is null!", false);
            }
            var teacherProfile = await _database.teacherProfileRepository.GetByIdAsync(teacherId);

            if (teacherProfile == null)
            {
                throw new ServiceException("User with this id is not founnd", false);
            }
            if (teacherProfile.ActiveProfile == false)
            {
                return(new OperationDatails("User with this id is not actived!", false));
            }
            if (teacherProfile.ClassId == 0)
            {
                return(new OperationDatails("User with this id havent got a class", false));
            }
            if (teacherProfile.timetableOfTheWeeks == null)
            {
                return(new OperationDatails("User with this id havent got a timetable", false));
            }
            var timetable = await _database.timeTableOfTheWeekRepository.GetByIdAsync(timetableId);

            if (timetable == null)
            {
                throw new ServiceException("Timetable with this id is null", false);
            }
            if (timetable.TeacherUserProfileId != teacherId)
            {
                return(new OperationDatails("This timetable mored not your", false));
            }
            var timetableOfTheDay = await _database.timetableOfTheDayRepository.GetByIdAsync(timetableOfTheDayDTO.TimeTableOfTheDayId);

            if (timetableOfTheDay == null)
            {
                throw new ServiceException("Timetable with this id is not found", false);
            }
            _database.timetableOfTheDayRepository.Create(_mapper.Map(timetableOfTheDayDTO, timetableOfTheDay));
            await _database.SaveAsync();

            return(new OperationDatails("Updated!", true));
        }