Ejemplo n.º 1
0
            public async Task <bool> Handle(
                Command request,
                CancellationToken cancellationToken
                )
            {
                var course = _academicDbContext.Courses.Find(request.Id);

                if (course == null)
                {
                    throw new AppException($"The course {request.Id} does not exists");
                }
                _academicDbContext.Courses.Remove(course);
                return(await _academicDbContext.SaveChangesAsync() > 0);
            }
            public async Task <Course> Handle(
                Command request,
                CancellationToken cancellationToken
                )
            {
                string code           = request.Code;
                Course existingCourse = await _academicDbContext
                                        .Courses
                                        .AsNoTracking()
                                        .SingleOrDefaultAsync(c => c.Code == code);

                if (existingCourse != null)
                {
                    throw new AppException($"El curso con código {code} ya se encuentra registrado");
                }

                Course course = new Course(request.Code, request.Name, request.CourseGroupId);

                _academicDbContext.Courses.Add(course);
                int count = await _academicDbContext.SaveChangesAsync();

                return(course);
            }