Пример #1
0
        [HttpPost] //Recebe o SUBMIT (envio dos dados) do formulário
        public IActionResult Cadastro(ProdutoCadastroModel model)
        {
            //verificar se os campos da model passaram nas validações
            if (ModelState.IsValid)
            {
                try
                {
                    Produto produto = new Produto();
                    produto.Nome       = model.Nome;
                    produto.Preco      = model.Preco;
                    produto.Quantidade = model.Quantidade;

                    repository.Inserir(produto);

                    TempData["Mensagem"] = $"Produto {produto.Nome}, cadastrado com sucesso.";
                    ModelState.Clear(); //limpa os campos do formulário
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = e.Message;
                }
            }

            return(View());
        }
Пример #2
0
        [HttpPost] //recebe os dados do formulário pelo controller
        public IActionResult Cadastro(ProdutoCadastroModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Produto produto = new Produto();
                    produto.Nome       = model.Nome;
                    produto.Preco      = model.Preco;
                    produto.Quantidade = model.Quantidade;

                    //insere os dados do produto na base de dados
                    repository.Inserir(produto);

                    //mensagem enviada com sucesso
                    TempData["Mensagem"] = $"Produto {produto.Nome}, cadastrado com sucesso.";
                    ModelState.Clear(); //limpa os campos do formulário
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = e.Message;
                }
            }

            return(View());
        }
Пример #3
0
        public ActionResult Cadastro(ProdutoCadastroModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Produto produto = new Produto();
                    produto.Nome       = model.Nome;
                    produto.Preco      = model.Preco;
                    produto.Quantidade = model.Quantidade;
                    produto.IdEstoque  = model.IdEstoque;

                    ProdutoBusiness business = new ProdutoBusiness();
                    business.CadastrarProduto(produto);

                    TempData["Mensagem"] = $"Produto ' {produto.Nome} ' , cadastrado com  sucesso.";
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = e.Message;
                }
            }

            return(View(new ProdutoCadastroModel()));
        }
Пример #4
0
        /// <summary>
        /// Método para cadastrar um produto na API
        /// </summary>
        /// <returns>Dados obtidos da API após a realização do cadastro</returns>
        private async Task <Produto> CriarProduto()
        {
            var model = new ProdutoCadastroModel
            {
                Nome       = "Produto teste",
                Preco      = 1000,
                Quantidade = 10
            };

            var request = new StringContent(JsonConvert.SerializeObject(model),
                                            Encoding.UTF8, "application/json");

            var respose = await _httpclient.PostAsync("api/produtos", request);

            //utilizando a biblioteca do FluentAssertions para verificar o retorno da API..
            respose.StatusCode.Should().Be(HttpStatusCode.OK);

            //obtendo o resultado retornado pela API..
            var responseContent = string.Empty;

            using (var content = respose.Content) { responseContent += content.ReadAsStringAsync().Result; }

            var result = JsonConvert.DeserializeObject <ProdutoReturnsOk>(responseContent);

            //comparando a mensagem obtida após a realização do cadastro
            result.message.Should().Be("Produto cadastrado com sucesso");

            //retorno..
            return(result.produto);
        }
Пример #5
0
        [Fact, Priority(4)] // Método de teste do XUnit
        public async Task Produto_GetById_ReturnsOkResponse()
        {
            var modelCadastro = new ProdutoCadastroModel
            {
                Nome       = "Monitor",
                Preco      = 500,
                Quantidade = 6
            };

            //criando uma requisição
            var requestPost = new StringContent(JsonConvert.SerializeObject(modelCadastro),
                                                Encoding.UTF8, "application/json");

            //enviando uma requisição PUT para a API
            var responsePost = await appContext.client.PostAsync(resource, requestPost);

            var contentPost = await responsePost.Content.ReadAsStringAsync();

            var produto = JsonConvert.DeserializeObject <Produto>(contentPost);


            //testando uma requisoção Get para a API
            var response = await appContext.client.GetAsync(resource + "/" + produto.Id.ToString());

            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var contentGet = await response.Content.ReadAsStringAsync();

            var registro = JsonConvert.DeserializeObject <ProdutoConsultaModel>(contentGet);

            Assert.Equal(produto.Id.ToString(), registro.Id);
            Assert.Equal(produto.Nome, registro.Nome);
            Assert.Equal(produto.Preco, registro.Preco);
            Assert.Equal(produto.Quantidade, registro.Quantidade);
        }
Пример #6
0
        public IActionResult Cadastro(ProdutoCadastroModel model,
                                      [FromServices] ProdutoRepository produtoRepository)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var produto = new Produto();
                    produto.Nome       = model.Nome;
                    produto.Preco      = model.Preco;
                    produto.Quantidade = model.Quantidade;
                    produto.IdEstoque  = model.IdEstoque;

                    produtoRepository.Inserir(produto);

                    TempData["MensagemSucesso"] = "Produto Cadastrado com sucesso! ";
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = "error" + e.Message;
                }
            }
            return(View());
        }
Пример #7
0
        [Fact, Priority(3)] // Método de teste do XUnit
        public async Task Produto_GetAll_ReturnsOkResponse()
        {
            var modelCadastro = new ProdutoCadastroModel
            {
                Nome       = "Monitor",
                Preco      = 500,
                Quantidade = 6
            };

            //criando uma requisição
            var requestPost = new StringContent(JsonConvert.SerializeObject(modelCadastro),
                                                Encoding.UTF8, "application/json");

            //enviando uma requisição PUT para a API
            await appContext.client.PostAsync(resource, requestPost);

            //testando uma requisoção Get para a API
            var response = await appContext.client.GetAsync(resource);

            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var content = await response.Content.ReadAsStringAsync();

            var produto = JsonConvert.DeserializeObject <List <ProdutoConsultaModel> >(content);

            Assert.NotNull(produto);
            Assert.True(produto.Count > 0);
        }
Пример #8
0
 public IActionResult Post(ProdutoCadastroModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             var produto = mapper.Map <Produto>(model);
             produtoRepository.Inserir(produto);
             var result = new
             {
                 message = "Produto cadastrado com sucesso.",
                 produto
             };
             return(Ok(result));
         }
         catch (Exception e)
         {
             return(StatusCode(500, "Erro: " + e.Message));
         }
     }
     else
     {
         return(BadRequest("Ocorreram erros de validação."));
     }
 }
        public IActionResult Post(ProdutoCadastroModel model, [FromServices] IProdutoRepository repository)
        {
            //se os dados da model passaram nas validações..
            if (ModelState.IsValid)
            {
                try
                {
                    var produto = new Produto();
                    produto.Nome       = model.Nome;
                    produto.Preco      = model.Preco;
                    produto.Quantidade = model.Quantidade;

                    repository.Inserir(produto);

                    return(Ok("Produto cadastrado com sucesso!"));
                }
                catch (Exception e)
                {
                    return(StatusCode(500, e.Message));
                }
            }
            else
            {
                return(BadRequest("Erro de validação."));
            }
        }
Пример #10
0
        [Fact, Priority(1)] // Método de teste do XUnit
        public async Task Produto_Post_ReturnsOkResponse()
        {
            var model = new ProdutoCadastroModel
            {
                Nome       = "Notebook",
                Preco      = 2500,
                Quantidade = 10
            };

            var request = new StringContent(JsonConvert.SerializeObject(model),
                                            Encoding.UTF8, "application/json");

            //testando uma requisoção POST para a API
            var response = await appContext.client.PostAsync(resource, request);

            response.StatusCode.Should().Be(HttpStatusCode.OK);

            //obtendo o retorno da API
            var content = await response.Content.ReadAsStringAsync();

            var produto = JsonConvert.DeserializeObject <Produto>(content);

            Assert.NotEmpty(produto.Id.ToString());

            Assert.Equal(model.Nome, produto.Nome);
            Assert.Equal(model.Preco, produto.Preco);
            Assert.Equal(model.Quantidade, produto.Quantidade);
        }
        public ProdutoDTO Create(ProdutoCadastroModel model)
        {
            var produto = mapper.Map <Produto>(model);

            produtoDomainService.Create(produto);

            return(mapper.Map <ProdutoDTO>(produto));
        }
        public void Insert(ProdutoCadastroModel model)
        {
            var produto = new Produto();

            produto.Nome         = model.Nome;
            produto.Preco        = decimal.Parse(model.Preco);
            produto.Quantidade   = int.Parse(model.Quantidade);
            produto.IdFornecedor = int.Parse(model.IdFornecedor);

            produtoDomainService.Insert(produto);
        }
Пример #13
0
 public IActionResult Post(ProdutoCadastroModel model)
 {
     try
     {
         produtoApplicationService.Insert(model);
         return(Ok("Produto cadastrado com sucesso."));
     }
     catch (Exception e)
     {
         return(StatusCode(500, e.Message));
     }
 }
Пример #14
0
        public IActionResult Post(ProdutoCadastroModel model,
                                  [FromServices] IMapper mapper, [FromServices] ProdutoRepository repository)
        {
            if (model == null || !ModelState.IsValid)
            {
                return(BadRequest());
            }

            var produto = mapper.Map <Produto>(model);

            repository.Add(produto);

            return(Ok(produto));
        }
Пример #15
0
        private ProdutoCadastroModel CarregarDadosCadastro()
        {
            //classe de modelo utilizada na página
            ProdutoCadastroModel model = new ProdutoCadastroModel();

            try
            {
                EstoqueRepository repository = new EstoqueRepository();
                model.Estoques = Mapper.Map <List <SelectListItem> >(repository.SelectAll());
            }
            catch (Exception e)
            {
                TempData["Mensagem"] = e.Message;
            }

            return(model);
        }
Пример #16
0
        public IActionResult Post(ProdutoCadastroModel model)
        {
            try
            {
                var result = ProdutoApplicationService.Create(model);

                return(Ok(new
                {
                    Message = "Produto cadastrado com sucesso.",
                    Produto = result
                }));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Пример #17
0
        [Fact, Priority(2)] // Método de teste do XUnit
        public async Task Produto_Put_ReturnsOkResponse()
        {
            var modelCadastro = new ProdutoCadastroModel
            {
                Nome       = "Monitor",
                Preco      = 500,
                Quantidade = 6
            };

            //criando uma requisição
            var requestPost = new StringContent(JsonConvert.SerializeObject(modelCadastro),
                                                Encoding.UTF8, "application/json");

            //enviando uma requisição PUT para a API
            var responsePost = await appContext.client.PostAsync(resource, requestPost);

            var contentPost = await responsePost.Content.ReadAsStringAsync();

            var produto = JsonConvert.DeserializeObject <Produto>(contentPost);

            var modelEdicao = new ProdutoEdicaoModel
            {
                Id         = produto.Id.ToString(),
                Nome       = "Celular",
                Preco      = 600,
                Quantidade = 6
            };

            var requestPut = new StringContent(JsonConvert.SerializeObject(modelEdicao),
                                               Encoding.UTF8, "application/json");

            //enviando requisição PUT para a API
            var responsePut = await appContext.client.PutAsync(resource, requestPut);

            var contentPut = await responsePut.Content.ReadAsStringAsync();

            var registro = JsonConvert.DeserializeObject <Produto>(contentPut);

            responsePut.StatusCode.Should().Be(HttpStatusCode.OK);

            Assert.Equal(modelEdicao.Id, registro.Id.ToString());
            Assert.Equal(modelEdicao.Nome, registro.Nome);
            Assert.Equal(modelEdicao.Preco, registro.Preco);
            Assert.Equal(modelEdicao.Quantidade, registro.Quantidade);
        }
Пример #18
0
        public IActionResult Post(ProdutoCadastroModel model,
                                  [FromServices] IProdutoRepository produtoRepository)
        {
            try
            {
                var produto = new Produto();
                produto.Nome         = model.Nome;
                produto.Preco        = decimal.Parse(model.Preco);
                produto.Quantidade   = int.Parse(model.Quantidade);
                produto.IdFornecedor = int.Parse(model.IdFornecedor);

                produtoRepository.insert(produto);

                return(Ok("Produto cadastrado com sucesso!"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Пример #19
0
        //método request ajax do jquery
        public JsonResult CadastrarProduto(ProdutoCadastroModel model)
        {
            try
            {
                Produto p = new Produto();
                p.Nome       = model.Nome;
                p.Preco      = model.Preco;
                p.Quantidade = model.Quantidade;


                ProdutoRepository rep = new ProdutoRepository();
                rep.Insert(p);

                return(Json($"Produto {p.Nome}, cadastrado com sucesso."));
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }
Пример #20
0
        public IActionResult Post(ProdutoCadastroModel model,
                                  [FromServices] IProdutoRepository repository,
                                  [FromServices] IMapper mapper)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Ocorreram erro de validações"));
            }

            try
            {
                var produto = mapper.Map <Produto>(model);
                repository.Inserir(produto);

                return(Ok("Produto Cadastrado com sucesso"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Пример #21
0
        public IActionResult Post(ProdutoCadastroModel model)
        {
            try
            {
                var produto = new Produto
                {
                    Id         = Guid.NewGuid(),
                    Nome       = model.Nome,
                    Preco      = model.Preco,
                    Quantidade = model.Quantidade
                };

                _produtoRepository.Create(produto);

                return(Ok(new { message = "Produto cadastrado com sucesso", produto }));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Пример #22
0
        [HttpPost] //recebe requisições do tipo POST
        public ActionResult Cadastro(ProdutoCadastroModel model)
        {
            //verificar se os campos da model passaram nas regras de validação
            if (ModelState.IsValid)
            {
                try
                {
                    Produto produto = Mapper.Map <Produto>(model);

                    ProdutoRepository repository = new ProdutoRepository();
                    repository.Insert(produto);

                    TempData["Mensagem"] = $"Produto {produto.Nome}, cadastrado com sucesso.";
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = e.Message;
                }
            }

            return(View(CarregarDadosCadastro()));
        }
Пример #23
0
 public ActionResult Cadastro(ProdutoCadastroModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Produto produto = new Produto();
             produto.Nome       = model.Nome;
             produto.Preco      = model.Preco;
             produto.Quantidade = model.Quantidade;
             produto.IdEstoque  = model.IdEstoque;
             ProdutoRepository repository = new ProdutoRepository();
             repository.Insert(produto);
             TempData["Mensagem"] = $"Produto {produto.Nome}, cadastrado com sucesso.";
             ModelState.Clear();
         }
         catch (Exception e)
         {
             TempData["Mensagem"] = e.Message;
         }
     }
     return(View());
 }
Пример #24
0
        public IActionResult Post([FromBody] ProdutoCadastroModel model,
                                  [FromServices] IMapper mapper,
                                  [FromServices] IProdutoDomainService service)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var produto = mapper.Map <Produto>(model);
                    service.Cadastrar(produto);

                    return(StatusCode(StatusCodes.Status201Created));
                }
                else
                {
                    return(StatusCode(StatusCodes.Status400BadRequest));
                }
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
Пример #25
0
 //método para notificar as demais páginas de que um cadastro foi realizado
 public void NotificacaoDeCadastro(ProdutoCadastroModel model)
 {
     //método executado pela página de consulta
     Clients.All.ObterDados(model);
 }
        public IActionResult CadastroProduto([FromServices] ProdutoRepository produtoRepository, ProdutoCadastroModel model, [FromServices] VendedorRepository vendedorRepository)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var vendedor = vendedorRepository.GetByEmail(User.Identity.Name);

                    var produto = new Produto();
                    produto.Nome       = model.Nome;
                    produto.Descricao  = model.Descricao;
                    produto.Categoria  = model.Categoria;
                    produto.Preco      = double.Parse(model.Preco);
                    produto.IdVendedor = vendedor.IdVendedor;

                    produtoRepository.Insert(produto);

                    TempData["MensagemSucesso"] = "Produto Cadastrado Com Sucesso.";
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = "Erro " + e.Message;
                }
            }

            return(View());
        }