public async Task <ActionResult <BookInfoViewModel> > PostBook([FromForm] CreateNewBookDTO bookDTO) { Book addNewBook = _mapper.Map <Book>(bookDTO); addNewBook.MainImage = DateTimeOffset.Now.ToUnixTimeSeconds().ToString() + '_' + bookDTO.MainImage.FileName; _context.Book.Add(addNewBook); bool isSave = await _bookServices.AddNewBookAsync(addNewBook); if (isSave) { //Save main image _imageServices.UploadImage(bookDTO.MainImage, addNewBook.MainImage); //Save many image BookImage bookImage = new BookImage(); bookImage.BookId = addNewBook.Id; if (bookDTO.Image1 is not null) { bookImage.Image1 = DateTimeOffset.Now.ToUnixTimeSeconds().ToString() + '_' + bookDTO.Image1.FileName; _imageServices.UploadImage(bookDTO.Image1, bookImage.Image1); } if (bookDTO.Image2 is not null) { bookImage.Image2 = DateTimeOffset.Now.ToUnixTimeSeconds().ToString() + '_' + bookDTO.Image2.FileName; _imageServices.UploadImage(bookDTO.Image2, bookImage.Image2); } if (bookDTO.Image3 is not null) { bookImage.Image3 = DateTimeOffset.Now.ToUnixTimeSeconds().ToString() + '_' + bookDTO.Image3.FileName; _imageServices.UploadImage(bookDTO.Image3, bookImage.Image3); } if (bookDTO.Image4 is not null) { bookImage.Image4 = DateTimeOffset.Now.ToUnixTimeSeconds().ToString() + '_' + bookDTO.Image4.FileName; _imageServices.UploadImage(bookDTO.Image4, bookImage.Image4); } _context.BookImage.Add(bookImage); await _context.SaveChangesAsync(); return(Ok(new { data = addNewBook, success = true })); } else { return(Ok(new { error_message = "Thêm sách thất bại, có lỗi xảy ra" })); } }
public async Task <IActionResult> Save(LangFirstQuestionDetailVm viewModel, IFormFile picture) { if (viewModel.Id != 0) { var categoryLink = $"{baseUri}/QuestionCategory/{2}"; var category = WebApiService.GetApiResult <QuestionCategory>(categoryLink); var answerLink = $"{baseUri}/Answer/{viewModel.AnswerId}"; var answer = new Answer() { Id = viewModel.AnswerId, LangAnswer = viewModel.Answer }; answer = await WebApiService.PutCallApi <Answer, Answer>(answerLink, answer); List <Feedback> feedbackList = new List <Feedback>(); feedbackList.Add(new Feedback() { Id = viewModel.FirstFeedbackId, Description = viewModel.FirstFeedback, QuestionId = viewModel.Id }); feedbackList.Add(new Feedback() { Id = viewModel.SecondFeedbackId, Description = viewModel.SecondFeedback, QuestionId = viewModel.Id }); var questionLink = $"{baseUri}/Question/{viewModel.Id}"; var question = new Question() { Id = viewModel.Id, QuestionTitle = viewModel.QuestionTitle, FileName = _imageServices.UploadImage(picture, "images/LangFirstQuestions"), AnswerId = answer.Id, Answer = answer, QuestionCategory = category, QuestionCategoryId = category.Id, Feedback = feedbackList }; question = await WebApiService.PutCallApi <Question, Question>(questionLink, question); var feedbackLink = $"{baseUri}/Feedback"; await WebApiService.PutCallApi <Feedback, Feedback>($"{feedbackLink}/{viewModel.FirstFeedbackId}", feedbackList.ElementAt(0)); await WebApiService.PutCallApi <Feedback, Feedback>($"{feedbackLink}/{viewModel.SecondFeedbackId}", feedbackList.ElementAt(1)); return(RedirectToAction(nameof(Index))); } else { var categoryLink = $"{baseUri}/QuestionCategory/{2}"; var category = WebApiService.GetApiResult <QuestionCategory>(categoryLink); var answerLink = $"{baseUri}/Answer"; var answer = new Answer() { LangAnswer = viewModel.Answer }; //var seededAnswer = await WebApiService.PostCallApi<Answer, Answer>(answerLink, answer); answer.Id = 0; List <Feedback> feedbackList = new List <Feedback>(); feedbackList.Add(new Feedback() { Description = viewModel.FirstFeedback }); feedbackList.Add(new Feedback() { Description = viewModel.SecondFeedback }); var questionLink = $"{baseUri}/Question"; var question = new Question() { QuestionTitle = viewModel.QuestionTitle, FileName = _imageServices.UploadImage(picture, "images/LangFirstQuestions"), Answer = answer, QuestionCategory = category, Feedback = feedbackList }; await WebApiService.PostCallApi <Question, Question>(questionLink, question); return(RedirectToAction(nameof(Index))); } }