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)); }
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." })); } }