示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        public async Task <Comic> IncludeComicUploadAsync(ComicUpload comicUpload)
        {
            var comic = await ToComic(comicUpload);

            await IncludeAsync(comic);

            return(comic);
        }
示例#4
0
        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."));
        }
示例#5
0
        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()));
            }
        }
示例#6
0
 public AddComicViewModel()
 {
     Comic = new ComicUpload();
 }