public ResultHandler <LessonDto> Create(LessonDto lessonDto)
        {
            ResultHandler <LessonDto> resultHandler = new ResultHandler <LessonDto>();

            try
            {
                Student student = _studentRepository.FindOne(lessonDto.StudentId);
                if (student == null)
                {
                    resultHandler.Errors.Add("Student could not be found");
                    return(resultHandler);
                }

                Trainer trainer = _trainerRepository.FindOne(lessonDto.TrainerId);
                if (trainer == null)
                {
                    resultHandler.Errors.Add("Trainer could not be found");
                    return(resultHandler);
                }

                Lesson lesson = null;
                if (!_lesson.HasDublicateLesson(lesson, student, lessonDto.DateTime, lessonDto.Hour, lessonDto.Minutes))
                {
                    lesson = _lesson.Create(student, trainer, lessonDto.DateTime, lessonDto.Hour, lessonDto.Minutes, lessonDto.IsCompleted);
                }
                else
                {
                    resultHandler.Errors.Add("There is a dublicate lesson");
                    return(resultHandler);
                }

                _lessonRepository.Create(lesson);
                resultHandler.Data = AutoMapper.Mapper.Map <Lesson, LessonDto>(lesson);
            }
            catch (Exception ex)
            {
                resultHandler.Errors.Add(ex.Message);
            }

            return(resultHandler);
        }