public async Task <Comic> ToComic(ComicUpload comicUpload) { var comic = new Comic(comicUpload); comic.Publisher = await _publishersRepository.GetAsync(comicUpload.SelectedPublisher); comicUpload.SelectedCategories.ForEach(async ci => { var category = await _categoriesRepository.GetAsync(ci); comic.IncludeCategory(category); }); comicUpload.SelectedAuthors.ForEach(async ai => { var author = await _authorsRepository.GetAsync(ai); comic.IncludeAuthor(author); }); comicUpload.SelectedDesigners.ForEach(async di => { var designer = await _designersRepository.GetAsync(di); comic.IncludeDesigner(designer); }); return(comic); }
public async Task <IActionResult> PostComic([FromBody] ComicUpload comicUpload) { if (!ModelState.IsValid) { return(BadRequest("Error verifique os campos e tente novamente.")); } var comic = await _comicsRepository.GetComicByTitleAsync(comicUpload.Title); if (comic != null) { return(BadRequest("Já existe um quadrinho com esse titulo.")); } if (comicUpload.Cover.Length > 5242880) { return(BadRequest("A imagem deve ser menor que 5MB.")); } var comicDb = await _comicsRepository.IncludeComicUploadAsync(comicUpload); var uri = Url.Action("GetComic", new { id = comicDb.Id }); return(Created(uri, comicDb)); }
public async Task <Comic> IncludeComicUploadAsync(ComicUpload comicUpload) { var comic = await ToComic(comicUpload); await IncludeAsync(comic); return(comic); }
public async Task <IActionResult> PutComic([FromBody] ComicUpload comicUpload) { if (!ModelState.IsValid) { return(BadRequest("Error verifique os campos e tente novamente.")); } var comic = await _comicsRepository.ToComic(comicUpload); await _comicsRepository.UpdateAsync(comic); return(Ok("Quadrinho alterado com sucesso.")); }
public async Task <AddComicResponse> PostComic(ComicUpload comic) { var json = JsonConvert.SerializeObject(comic); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var httpResponseMessage = await _httpClient.PostAsync(_comicsUri, httpContent); if (httpResponseMessage.IsSuccessStatusCode) { return(new AddComicResponse(true, "Quadrinho adicionado com sucesso.")); } else { return(new AddComicResponse(false, await httpResponseMessage.Content.ReadAsStringAsync())); } }
public AddComicViewModel() { Comic = new ComicUpload(); }