Esempio n. 1
0
        public async Task <ActionResult> GetCourse(int id)
        {
            try
            {
                var course = await _coursesRepository.GetCourseAsync(id);

                if (course == null)
                {
                    return(NotFound());
                }
                return(Ok(course));
            }
            catch (Exception exp)
            {
                _Logger.LogError(exp.Message);
                return(NotFound());
            }
        }
Esempio n. 2
0
        public async Task <Result> SignUpAsync(Guid courseId, User user)
        {
            var course = await _coursesRepository.GetCourseAsync(courseId);

            var emptyPlace = course.FindEmptyPlace();

            //can be used Maybe<> wrapper to add readablity
            if (emptyPlace == null)
            {
                return(Result.FailedResult);
            }

            emptyPlace.BookPlaceForUser(user);

            await _coursesRepository.SaveChangesAsync(course);

            return(Result.SuccessResult);
        }