public async Task PutLivroAsync(LivroUpload modal)
        {
            HttpContent contant  = CreateMultiParteFormDataContent(modal);
            var         response = await this._httpClient.PutAsync("Livros", contant);

            response.EnsureSuccessStatusCode();
        }
Exemplo n.º 2
0
        public async Task PostLivroAsync(LivroUpload model)
        {
            HttpContent content  = CreateMultipartFormDataContent(model);
            var         resposta = await _httpClient.PostAsync("livros", content);

            resposta.EnsureSuccessStatusCode();
        }
Exemplo n.º 3
0
        private HttpContent CreateMultipartFormDataContent(LivroUpload model)
        {
            // Criando conteudo do request para api (Passando pelo Form e não Body)

            var content = new MultipartFormDataContent();

            content.Add(new StringContent(model.Titulo), EnvolveComAspasDuplas("titulo"));
            content.Add(new StringContent(model.Subtitulo), EnvolveComAspasDuplas("subtitulo"));
            content.Add(new StringContent(model.Resumo), EnvolveComAspasDuplas("resumo"));
            content.Add(new StringContent(model.Autor), EnvolveComAspasDuplas("autor"));
            content.Add(new StringContent(model.Lista.ParaString()), EnvolveComAspasDuplas("lista"));

            if (model.Id > 0)
            {
                content.Add(new StringContent(model.Id.ToString()), EnvolveComAspasDuplas("id"));
            }

            if(model.Capa != null)
            {
                var imagemContent = new ByteArrayContent(model.Capa.ConvertToBytes());
                imagemContent.Headers.Add("content-type", "image/png");
                content.Add(
                    imagemContent, // Imagem em Byte
                    EnvolveComAspasDuplas("capa"), // Nome da chave
                    EnvolveComAspasDuplas(model.Capa.FileName)); // Nome do arquivo
            }

            return content;
        }
        private HttpContent CreateMultipartFormDataContent(LivroUpload model)
        {
            var content = new MultipartFormDataContent();

            content.Add(new StringContent(model.Titulo), EnvolveComAspasDuplas("titulo"));
            content.Add(new StringContent(model.Lista.ParaString()), EnvolveComAspasDuplas("lista"));
            if (!string.IsNullOrEmpty(model.Subtitulo))
            {
                content.Add(new StringContent(model.Subtitulo), EnvolveComAspasDuplas("subtitulo"));
            }
            if (!string.IsNullOrEmpty(model.Resumo))
            {
                content.Add(new StringContent(model.Resumo), EnvolveComAspasDuplas("resumo"));
            }
            if (!string.IsNullOrEmpty(model.Autor))
            {
                content.Add(new StringContent(model.Autor), EnvolveComAspasDuplas("autor"));
            }

            if (model.Id > 0)
            {
                content.Add(new StringContent(model.Id.ToString()), EnvolveComAspasDuplas("id"));
            }

            if (model.Capa != null)
            {
                var imagemContent = new ByteArrayContent(model.Capa.ConvertToBytes());
                imagemContent.Headers.Add("content-type", "image/png");
                content.Add(imagemContent, EnvolveComAspasDuplas("capa"), EnvolveComAspasDuplas("capa.png"));
            }

            return(content);
        }
Exemplo n.º 5
0
        public async Task PostLivroAsync(LivroUpload model)
        {
            AddBearerToken();
            HttpContent content = CreateMultipartFormDataContent(model);
            var         result  = await _httpClient.PostAsync($"livros", content);

            result.EnsureSuccessStatusCode();
        }
Exemplo n.º 6
0
        public async Task PutLivroAsync(LivroUpload livro)
        {
            HttpContent content  = CreateMultiPartFormData(livro);
            var         resposta = await _httpClient
                                   .PutAsync(string.Format(_configuration.GetSection("GetByIdLivros").Value, livro.Id), content);

            resposta.EnsureSuccessStatusCode();
        }
Exemplo n.º 7
0
        public async Task PostLivroAsync(LivroUpload livro)
        {
            HttpContent content  = CreateMultiPartFormData(livro);
            var         resposta = await _httpClient
                                   .PostAsync(_configuration.GetSection("GetAllLivros").Value, content);

            resposta.EnsureSuccessStatusCode();
        }
Exemplo n.º 8
0
        public async Task PutLivroAsync(LivroUpload model)
        {
            AddBearerToken();
            HttpContent content      = CreateMultipartFormDataContent(model);
            var         httpResponse = await _httpClient.PutAsync("livros", content);

            httpResponse.EnsureSuccessStatusCode();
        }
Exemplo n.º 9
0
 public IActionResult Novo(LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         _repo.Incluir(model.ToLivro());
         return(RedirectToAction("Index", "Home"));
     }
     return(View(model));
 }
Exemplo n.º 10
0
        public async Task <IActionResult> Detalhes(LivroUpload model)
        {
            if (ModelState.IsValid)
            {
                await _service.AtualizaLivroAsync(model.ToLivro());

                return(RedirectToAction("Index", "Home"));
            }
            return(View(model));
        }
        public async Task <IActionResult> Novo(LivroUpload model)
        {
            if (ModelState.IsValid)
            {
                await _api.PostLivroAsync(model);

                return(RedirectToAction("Index", "Home"));
            }
            return(View(model));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> Detalhes(LivroUpload model)
        {
            if (ModelState.IsValid)
            {
                await _livroApiClient.PutLivroAsync(model);

                return(RedirectToAction("Index", "Home"));
            }
            return(View(model));
        }
Exemplo n.º 13
0
        public async Task <IActionResult> Novo(LivroUpload model)
        {
            if (ModelState.IsValid)
            {
                // _repo.Incluir(model.ToLivro());
                await _apiClient.PostLivroAsync(model);

                return(RedirectToAction("Index", "Home"));
            }
            return(View(model));
        }
Exemplo n.º 14
0
        public async Task PutLivroAsync(LivroUpload model)
        {
            AddBearerToken();

            HttpContent content = CreateMultipartFormData(model);

            var resposta = await _httpClient.PutAsync("livros", content);

            Console.WriteLine(resposta);
            resposta.EnsureSuccessStatusCode();
        }
Exemplo n.º 15
0
        public async Task PostOrPutLivroAsync(LivroUpload livro)
        {
            HttpContent content  = CreateMultipartContent(livro.ToLivro());
            var         resposta = await(livro.Id == 0 ? _httpClient.PostAsync("livros", content) : _httpClient.PutAsync("livros", content));

            resposta.EnsureSuccessStatusCode();
            if (resposta.StatusCode != System.Net.HttpStatusCode.Created && resposta.StatusCode != System.Net.HttpStatusCode.OK)
            {
                throw new InvalidOperationException(resposta.Content.ReadAsStringAsync().Result);
            }
        }
 public IActionResult Incluir([FromBody] LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         _repo.Incluir(livro);
         var uri = Url.Action("Recuperar", new { id = livro.Id });
         return(Created(uri, livro)); //Cod. 201 -> retorna que o recurso foi criado
     }
     return(BadRequest());
 }
 public IActionResult Incluir([FromBody] LivroUpload model) // O fromBody indica que a requisição chega pelo Body
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         _repo.Incluir(livro);
         var uri = Url.Action("Recuperar", new { id = livro.Id });
         return(Created(uri, livro)); //Codigo status 201
     }
     return(BadRequest());            //Erro 400
 }
 public IActionResult Incluir([FromBody] LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         _repo.Incluir(livro);
         var uri = Url.Action("Recuperar", new { id = livro.Id });
         return(Created(uri, livro)); //201
     }
     return(BadRequest(ErrorResponse.FromModelState(ModelState)));
 }
 public IActionResult Incluir([FromForm] LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         _repo.Incluir(livro);
         var uri = Url.Action("Recuperar", new { id = livro.Id });
         return(Created(uri, livro));
     }
     return(BadRequest());
 }
        public async Task PutLivroAsync(LivroUpload livro)
        {
            AddBearerToken();
            HttpContent content  = CreateMultipartContent(livro.ToLivro());
            var         resposta = await _httpClient.PutAsync("livros", content);

            resposta.EnsureSuccessStatusCode();
            if (resposta.StatusCode != System.Net.HttpStatusCode.OK)
            {
                throw new InvalidOperationException("Código de Status Http 200 esperado!");
            }
        }
Exemplo n.º 21
0
 public static Livro ToLivro(this LivroUpload model)
 {
     return(new Livro
     {
         Id = model.Id,
         Titulo = model.Titulo,
         Subtitulo = model.Subtitulo,
         Resumo = model.Resumo,
         Autor = model.Autor,
         ImagemCapa = model.Capa.ConvertToBytes()
     });
 }
        public IActionResult Incluir([FromForm][SwaggerParameter("Um objeto contendo o autor, titulo, subtitulo e lista a ser adicionado")] LivroUpload model)
        {
            if (ModelState.IsValid)
            {
                var livro = model.ToLivro();
                _repo.Incluir(livro);

                var uri = Url.Action("Recuperar", new { id = livro.Id });
                return(Created(uri, livro));
            }
            return(BadRequest(ErrorResponse.FromModelState(ModelState)));
        }
Exemplo n.º 23
0
        public IActionResult Incluir([FromForm][SwaggerParameter("Livro a ser incluido.")] LivroUpload model)
        {
            if (ModelState.IsValid)
            {
                var livro = model.ToLivro();

                _repo.Incluir(livro);

                var uri = Url.Action("Recuperar", new { id = livro.Id });
                return(Created(uri, livro.ToApi())); // 201
            }

            return(BadRequest(ErrorResponse.FromModelState(ModelState))); // 400
        }
Exemplo n.º 24
0
        public async Task PostLivroAsync(LivroUpload model)
        {
            AddBearerToken();
            HttpContent content  = CreateMultipartFormDataContent(model);
            var         resposta = await _httpClient.PostAsync("livros", content);

            try
            {
                resposta.EnsureSuccessStatusCode();
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 25
0
        public IActionResult Post([FromForm] LivroUpload livroUpload)
        {
            if (ModelState.IsValid)
            {
                var livro = livroUpload.ToLivro();

                _repository.Incluir(livro);

                return(CreatedAtRoute(
                           routeName: "GetLivro2",
                           routeValues: new { id = livro.Id },
                           value: livro));
            }
            return(BadRequest(ErrorResponse.CreateFromModelState(ModelState)));
        }
Exemplo n.º 26
0
 public IActionResult Detalhes(LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         if (model.Capa == null)
         {
             livro.ImagemCapa = _repo.All
                                .Where(l => l.Id == livro.Id)
                                .Select(l => l.ImagemCapa)
                                .FirstOrDefault();
         }
         _repo.Alterar(livro);
         return(RedirectToAction("Index", "Home"));
     }
     return(View(model));
 }
Exemplo n.º 27
0
 public IActionResult Alterar([FromForm][SwaggerParameter("Livro a ser alterado.")] LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         if (model.Capa == null)
         {
             livro.ImagemCapa = _repo.All
                                .Where(l => l.Id == livro.Id)
                                .Select(l => l.ImagemCapa)
                                .FirstOrDefault();
         }
         _repo.Alterar(livro);
         return(Ok()); // 200
     }
     return(BadRequest(ErrorResponse.FromModelState(ModelState)));
 }
 public IActionResult Alterar([FromForm] LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         if (model.Capa == null)
         {
             livro.ImagemCapa = _repo.All
                                .Where(l => l.Id == livro.Id)
                                .Select(l => l.ImagemCapa)
                                .FirstOrDefault();
         }
         _repo.Alterar(livro);
         return(Ok());
     }
     return(BadRequest());
 }
 public IActionResult Alterar([FromForm][SwaggerParameter("Um objeto contendo o autor, titulo, subtitulo e lista a ser alterado")] LivroUpload model)
 {
     if (ModelState.IsValid)
     {
         var livro = model.ToLivro();
         if (model.Capa == null)
         {
             livro.ImagemCapa = _repo.All
                                .Where(l => l.Id == livro.Id)
                                .Select(l => l.ImagemCapa)
                                .FirstOrDefault();
         }
         _repo.Alterar(livro);
         return(Ok());
     }
     return(BadRequest());
 }
Exemplo n.º 30
0
        public IActionResult Incluir([FromBody] LivroUpload model)
        {
            if (ModelState.IsValid)
            {
                var livro = model.ToLivro();
                _repo.Incluir(livro);

                var uri = Url.Action("Recuperar", new { id = livro.Id }); //criando uma URL a partir de uma action de um controler. O primeiro argumento é a action e o segundo é o identificador do objeto na base de dados

                return(Created(uri, livro));                              //código 201

                /**
                 * Retornando um objeto, após a conclusão de sua operação
                 */
            }

            return(BadRequest()); //requisição inválida (error 400)
        }