예제 #1
0
        public IActionResult UpdateCourseForAuthor(Guid authorId,
                                                   Guid courseId, CourseForUpdateDto course)
        {
            if (!_courseLibraryRepository.AuthorExists(authorId))
            {
                return(NotFound());
            }
            var courseFromRepo = _courseLibraryRepository.GetCourse(authorId, courseId);

            if (courseFromRepo == null)
            {
                Entities.Course courseToAdd = _mapper.Map <Entities.Course>(course);
                courseToAdd.Id = courseId;
                _courseLibraryRepository.AddCourse(authorId, courseToAdd);
                _courseLibraryRepository.Save();
                CourseDto courseToReturn = _mapper.Map <CourseDto>(courseToAdd);
                return(CreatedAtRoute("GetCourseForAuthor", new { authorId, courseId = courseToReturn.Id }, courseToReturn));
            }

            // map entity to a CourseForUpdateDto
            // apply updated field values to that Dto
            // map the CourseForUpdateDto back to an entity
            _mapper.Map(course, courseFromRepo);

            _courseLibraryRepository.UpdateCourse(courseFromRepo);
            _courseLibraryRepository.Save();
            return(NoContent());
        }
예제 #2
0
        public static void SaveCourseDetailsByCourseId(int courseId, Int32 isPublicAPI, String APIKey,
                                                       Entities.Course courses)
        {
            var searchKey = string.Concat(CourseDetailsByIdKey, "_", courseId + "_" + isPublicAPI);

            CacheManagement.CacheHandler.Add(searchKey, courses, CacheExpiryDate);
        }
예제 #3
0
        public void UpdateCourse(Course course)
        {
            Entities.Course currentCourse = _context.Course.Find(course.Id);
            Entities.Course updatedCourse = Mapper.MapCourse(course);

            _context.Entry(currentCourse).CurrentValues.SetValues(updatedCourse);
        }
예제 #4
0
 public Course(Entities.Course entity)
 {
     CourseId    = entity.CourseId;
     Title       = entity.Title;
     Level       = entity.Level.ToString();
     EffectiveTo = entity.EffectiveTo;
     Rules       = entity.ReservationRule;
 }
예제 #5
0
        public bool Update(Entities.Course originalCourse, Entities.Course updatedCourse)
        {
            context.Entry(originalCourse).CurrentValues.SetValues(updatedCourse);

            //update child entities

            originalCourse.CourseSubject = updatedCourse.CourseSubject;
            originalCourse.CourseTutor   = updatedCourse.CourseTutor;

            return(true);
        }
예제 #6
0
 public bool Insert(Entities.Course course)
 {
     try
     {
         context.Courses.Add(course);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
예제 #7
0
        private Entities.Course CreateTestCourse(CourseViewModel model)
        {
            var created = new Entities.Course
            {
                Description = model.Description,
                Id          = (courses.Count + 1).ToString(),
                Name        = model.Name,
            };

            courses.Add(created);

            return(created);
        }
예제 #8
0
        public async Task <GenericCommandResult> Handle(CreateCourseCommand command, CancellationToken cancellationToken)
        {
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Ocorreu um erro", command.Notifications));
            }

            var course = new Entities.Course(command.Name);

            _courseRepository.Create(course);

            return(new GenericCommandResult(true, "Curso cadastrado com sucesso", (DTOs.Course)course));
        }
예제 #9
0
        public ActionResult <CourseDto> CreateCourseForAuthor(Guid authorId, CourseForCreationDto course)
        {
            if (!_courseLibraryRepository.AuthorExists(authorId))
            {
                return(NotFound());
            }
            Entities.Course courseEntity = _mapper.Map <Entities.Course>(course);
            _courseLibraryRepository.AddCourse(authorId, courseEntity);
            _courseLibraryRepository.Save();

            CourseDto courseToReturn = _mapper.Map <CourseDto>(courseEntity);

            return(CreatedAtRoute("GetCourseForAuthor", new { courseId = courseToReturn.Id }, courseToReturn));
        }
예제 #10
0
        public IActionResult Create([FromBody] Dto.CourseDto courseDto)
        {
            if (courseDto == null)
            {
                return(BadRequest());
            }

            Entities.Course course = new Entities.Course()
            {
                Date        = courseDto.Date,
                Description = courseDto.Description,
                Name        = courseDto.Name,
                Spots       = courseDto.Spots,
                FreeSpots   = courseDto.Spots,
                Price       = courseDto.Price,
                ImageUrl    = courseDto.ImageUrl
            };
            _context.Courses.Add(course);

            _context.SaveChanges();
            return(CreatedAtRoute("GetCourse", new { id = course.Id }, course));
        }
        public Result Handle(AddCourseCommand command)
        {
            var validationResult = new AddCourseCommandValidator().Validate(command);

            if (validationResult.IsValid == false)
            {
                return(Result.Fail(validationResult));
            }

            var isExist = _unitOfWork.CoursesRepository.IsCourseExist(command.Name, command.Year);

            if (isExist)
            {
                return(Result.Fail("This Course already exist"));
            }

            var course = new Entities.Course(command.Name, command.Year, command.TrainingTime);

            _unitOfWork.CoursesRepository.Add(course);
            _unitOfWork.Commit();

            return(Result.Ok());
        }
예제 #12
0
 public void DeleteInstructor(Guid id)
 {
     Entities.Course course = _context.Course.Find(id);
     _context.Remove(course);
 }
예제 #13
0
 public DEV_Library.Models.Course GetCourseById(Guid id)
 {
     Entities.Course course = _context.Course.Find(id);
     return(Mapper.MapCourse(course));
 }
예제 #14
0
 public void AddCourse(DEV_Library.Models.Course course)
 {
     Entities.Course newCourse = Mapper.MapCourse(course);
     _context.Add(newCourse);
 }