Beispiel #1
0
 public CourseWithDecksDTO DecodeCourseWithDecks(CourseWithDecksDTO course)
 {
     course.Name = Encoding.UTF8.GetString(
         Convert.FromBase64String(course.Name));
     course.Linking = Encoding.UTF8.GetString(
         Convert.FromBase64String(course.Linking));
     course.Description = Encoding.UTF8.GetString(
         Convert.FromBase64String(course.Description));
     return(course);
 }
Beispiel #2
0
 public Course ConvertToCourse(CourseWithDecksDTO courseWithDecksDto)
 {
     return(new Course
     {
         Id = courseWithDecksDto.Id,
         Name = courseWithDecksDto.Name,
         Description = courseWithDecksDto.Description,
         Linking = courseWithDecksDto.Linking,
         Price = courseWithDecksDto.Price,
         Photo = courseWithDecksDto.Photo
     });
 }
Beispiel #3
0
        public IHttpActionResult UpdateCourse(CourseWithDecksDTO courseDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                Course course = moderation.FindCourseAndUpdateValues(courseDTO);
                moderation.UpdateCourse(course);

                return(Ok(courseDTO));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #4
0
        public IHttpActionResult GetCourse(string courseName)
        {
            try
            {
                CourseWithDecksDTO course = catalog
                                            .GetCourseWithDecksDTO(courseName);

                return(Ok(course));
            }
            catch (ArgumentNullException ex)
            {
                var message = $"Course with name = {courseName} " +
                              $"not found. {ex.Message}";
                return(BadRequest(message));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #5
0
        public Course FindCourseAndUpdateValues(CourseWithDecksDTO courseDTO)
        {
            Course course = moderation.GetCourse(courseDTO.Id);

            course.Name        = courseDTO.Name;
            course.Linking     = courseDTO.Linking;
            course.Description = courseDTO.Description;
            course.Price       = courseDTO.Price;
            course.Photo       = courseDTO.Photo;

            Category category = moderation.FindCategoryByName(courseDTO.CategoryName);

            course.Category = category;

            course.Decks.Clear();
            for (int i = 0; i < courseDTO.DeckNames.Length; i++)
            {
                course.Decks.Add(moderation.FindDeckByName(courseDTO.DeckNames[i]));
            }

            return(course);
        }