public async Task <ApiResponse> CancelLessonAsync(Guid studentId, Guid lessonId)
        {
            if (lessonId == null || lessonId == Guid.Empty)
            {
                return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.LessonIdIsEmpty()));
            }

            if (studentId == null || studentId == Guid.Empty)
            {
                return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.StudentIdForLessonIsEmpty()));
            }

            var lessonToCancel = await _lessonRepository.GetByIdAsync(lessonId);

            if (lessonToCancel == null)
            {
                return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.LessonNotFound()));
            }

            else
            {
                if (lessonToCancel.StudentId != studentId)
                {
                    return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.LessonNotFound()));
                }

                else
                {
                    lessonToCancel.CancelledByStudent = true;
                    await _lessonRepository.UpdateAsync(lessonToCancel);

                    return(new ApiResponse());
                }
            }
        }
        public async Task <ApiResponse> AcceptLessonAsync(Guid tutorId, Guid lessonId)
        {
            if (lessonId == null || lessonId == Guid.Empty)
            {
                return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.LessonIdIsEmpty()));
            }

            else if (tutorId == null || tutorId == Guid.Empty)
            {
                return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.TutorIdForLessonIsEmpty()));
            }

            else
            {
                var lessonToAccept = await _lessonRepository.GetByIdAsync(lessonId);

                if (lessonToAccept == null)
                {
                    return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.LessonNotFound()));
                }

                else
                {
                    if (lessonToAccept.TutorId != tutorId)
                    {
                        return(new ApiResponse().SetAsFailureResponse(Errors.Lesson.LessonNotFound()));
                    }
                    else
                    {
                        lessonToAccept.TutorId         = tutorId;
                        lessonToAccept.AcceptedByTutor = true;

                        await _lessonRepository.UpdateAsync(lessonToAccept);

                        return(new ApiResponse());
                    }
                }
            }
        }