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()); } } } }