Пример #1
0
        public async Task <bool> CreateFlashcardAsync(FlashcardForCreate flashcardForCreate)
        {
            try
            {
                var flashcard = _mapper.Map <Flashcard>(flashcardForCreate);
                _context.Flashcards.Add(flashcard);

                await _context.SaveChangesAsync();

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public async Task <IActionResult> CreateFlashcard([FromBody] FlashcardForCreate input)
        {
            if (ModelState.IsValid)
            {
                var result = await _flashcardRepository.CreateFlashcardAsync(input);

                if (result)
                {
                    return(Ok(new
                    {
                        message = "success",
                        StatusCode = 201
                    }));
                }

                return(BadRequest(new
                {
                    message = "fail"
                }));
            }

            return(BadRequest(ModelState));
        }
Пример #3
0
        public async Task <IActionResult> CreateFlashcard(int courseId, int lessonId, FlashcardForCreate flashcardForCreate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var accountId = _userRepository.GetUserAccountId(int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value));

            if (!await _courseRepository.CanEdit(courseId, accountId))
            {
                return(Unauthorized());
            }

            var flashcardEntity = _mapper.Map <Flashcard>(flashcardForCreate);

            try
            {
                var flashcardToReturnRepo = _flashcardsRepository.Create(lessonId, flashcardEntity).Result;

                if (flashcardToReturnRepo != null)
                {
                    var flashcardToReturnMapped = _mapper.Map <FlashcardForDetail>(flashcardToReturnRepo);
                    return(Ok(flashcardToReturnMapped));
                }

                return(StatusCode(500, new ErrorResponse {
                    ErrorMessage = "An error occurred during create flashcard. Try again later."
                }));
            }
            catch (LessonNotFoundException)
            {
                return(NotFound(new ErrorResponse {
                    ErrorMessage = "Lesson has not been found."
                }));
            }
        }