public async Task <SessionReservationResponse> AssignSessionReservationAsync(int studentId, int sessionId, SessionReservation sessionReservation)
        {
            var student = await _studentRepository.FindById(studentId);

            var session = await _sessionRepository.FindById(sessionId);

            if (student == null || session == null)
            {
                return(new SessionReservationResponse("SessionId or StudentId not found"));
            }

            var existsIt = await _sessionResRepository.FindByStudentIdAndSessionId(studentId, sessionId);

            if (existsIt != null)
            {
                return(new SessionReservationResponse("This session reservation already exist"));
            }

            try
            {
                sessionReservation.Session   = session;
                sessionReservation.Student   = student;
                sessionReservation.SessionId = sessionId;
                sessionReservation.StudentId = studentId;

                await _sessionResRepository.AddAsync(sessionReservation);

                await _unitOfWork.CompleteAsync();

                return(new SessionReservationResponse(sessionReservation));
            }
            catch (Exception e)
            {
                return(new SessionReservationResponse($"Ocurrió un error: {e.Message}"));
            }
        }