public void ProdutoRepository_Atualizar_DeveRetornarOk() { //Cenário int id = 1; Produto produto = ObjectMother.getValidoProduto(); produto.Id = id; //Acão produto = _produtoRepository.Atualizar(produto); //Verificar produto.Id.Should().Be(produto.Id); }
public string Salvar(ProdutoModel model) { if (!ValidaProduto(model)) { return("AVISO"); } bool salvou = false; try { if (model.Id == 0) { salvou = produtoRepository.Salvar(model); } else { salvou = produtoRepository.Atualizar(model); } } catch (Exception e) { throw new Exception(e.Message); } return("OK"); }
public IActionResult Aprovar(ulong id) { var pedido = produtoRepository.ObterPor(id); if (produtoRepository.Atualizar(pedido)) { return(RedirectToAction("Dashboard", "Administrador")); } else { return(View("Erro", new RespostasViewModel("Não foi possível aprovar este pedido") { NomeView = "Dashdoard", UsuarioEmail = ObterUsuarioSession(), UsuarioNome = ObterUsuarioNomeSession() })); } }
public ActionResult Edit([Bind(Include = "Id,Descricao,Categoria,Preco")] Produto produto) { if (ModelState.IsValid) { _produtoRepository.Atualizar(produto); return(RedirectToAction("Index")); } return(View(produto)); }
public async Task <IActionResult> PutProduto(int id, Produto produto) { if (id != produto.Id) { return(BadRequest()); } _produtoRepository.Atualizar(produto); return(Ok(produto)); }
public void Atualizar(ProdutoDao produtoDao) { try { ValidarAtualizar(produtoDao); produtoRepository.Atualizar(produtoDao.ToBd()); } catch (BusinessException ex) { throw ex; } catch (Exception ex) { logRepository.Incluir(new Log() { Descricao = ex.ToString(), DataHora = DateTime.Now }); throw ex; } }
public void Atualizar(Produto produto) { ProdutoRepository repository = new ProdutoRepository(); try { repository.AbrirConexao(); repository.Atualizar(produto); } catch (Exception e) { throw new Exception("Ocorreu um erro: " + e.Message); } finally { repository.FecharConexao(); } }
public void Atualizar() { try { Console.WriteLine("\n Atualização de produto!"); Console.Write("Informe o Id do produto: "); var idProduto = Guid.Parse(Console.ReadLine()); var produtoRepository = new ProdutoRepository(); produtoRepository.ConnectionString = connectionString; var produto = produtoRepository.ObterPorId(idProduto); if (produto != null) { Console.Write("Informe o Nome do Poduto: "); produto.Nome = Console.ReadLine(); Console.Write("Informe o preço do Poduto: "); produto.Preco = decimal.Parse(Console.ReadLine()); Console.Write("Informe a quantidade da Poduto: "); produto.Quantidade = int.Parse(Console.ReadLine()); Console.Write("Informa data de validade do Poduto: "); produto.DataValidade = DateTime.Parse(Console.ReadLine()); produtoRepository.Atualizar(produto); Console.WriteLine("\n PRODUTO ATUALIZADO COM SUCESSO!"); Console.WriteLine("\n\n"); } else { Console.WriteLine("\n Produto no encontrado"); Console.WriteLine("\n\n"); } } catch (Exception e) { Console.WriteLine("\n Erro! " + e.Message); } }
public ActionResult <ReturnResponse> Put([FromBody] ProdutoRequest request) { var produto = ProdutoMapper.Mapper(request); return(ProdutoRepository.Atualizar(produto)); }
public void Atualizar(Produto produto) { ProdutoRepository repository = new ProdutoRepository(); repository.Atualizar(produto); }
static void Main(string[] args) { ProdutoRepository repository = new ProdutoRepository(); try { repository.AbrirConexao(); Console.WriteLine("\nCONTROLE DE PRODUTOS\n"); Console.WriteLine("(1) Inserir Produto"); Console.WriteLine("(2) Atualizar Produto"); Console.WriteLine("(3) Excluir Produto"); Console.WriteLine("(4) Consultar Produtos"); Console.Write("\nEscolha a opção desejada..: "); int opcao = int.Parse(Console.ReadLine()); Produto produto = new Produto(); switch (opcao) { case 1: Console.Write("Nome do Produto...: "); produto.Nome = Console.ReadLine(); Console.Write("Preço do Produto..: "); produto.Preco = decimal.Parse(Console.ReadLine()); repository.Inserir(produto); Console.WriteLine("\nProduto cadastrado com sucesso."); break; case 2: Console.Write("Id do Produto.....: "); produto.IdProduto = int.Parse(Console.ReadLine()); Console.Write("Nome do Produto...: "); produto.Nome = Console.ReadLine(); Console.Write("Preço do Produto..: "); produto.Preco = decimal.Parse(Console.ReadLine()); repository.Atualizar(produto); Console.WriteLine("\nProduto atualizado com sucesso."); break; case 3: Console.Write("Id do Produto.....: "); int idProduto = int.Parse(Console.ReadLine()); repository.Excluir(idProduto); Console.WriteLine("\nProduto excluido com sucesso."); break; case 4: List <Produto> lista = repository.Consultar(); foreach (Produto item in lista) { Console.WriteLine("Id do Produto......: " + item.IdProduto); Console.WriteLine("Nome...............: " + item.Nome); Console.WriteLine("Preço..............: " + item.Preco); Console.WriteLine("Data de Cadastro...: " + item.DataCadastro); Console.WriteLine("..."); } break; default: Console.WriteLine("\nOpção inválida."); break; } } catch (Exception e) { Console.WriteLine("\nErro: " + e.Message); } finally { repository.FecharConexao(); } Console.ReadKey(); //pausar.. }
public void ImportarXML(NotaFiscalDao notaFiscalDao, out List <string> mensagemErro, out List <string> mensagemSucesso, out int qtdNFeImportada) { try { qtdNFeImportada = 0; mensagemErro = new List <string>(); mensagemSucesso = new List <string>(); var lojaDepositoDao = lojaRepository.Listar(new Loja() { Deposito = true, Ativo = true }).FirstOrDefault(); // se não houver loja depósito, retorna if (lojaDepositoDao == null) { mensagemErro.Add("Loja de depósito não cadastrada"); qtdNFeImportada = 0; return; } using (var scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { Timeout = TimeSpan.FromMinutes(10) })) { XNamespace nsNFe = "http://www.portalfiscal.inf.br/nfe"; foreach (Stream item in notaFiscalDao.Arquivo) { var todosProdutoAtualizados = true; string xmlString = string.Empty; using (StreamReader sr = new StreamReader(item)) xmlString = sr.ReadToEnd(); if (string.IsNullOrEmpty(xmlString)) { mensagemErro.Add("XML está vazio"); continue; } XDocument xml = XDocument.Parse(xmlString, LoadOptions.None); IEnumerable <XElement> noNFe = xml.Descendants(nsNFe + "NFe"); if (!noNFe.Any()) { mensagemErro.Add("XML não é uma NFe (NFe)"); continue; } IEnumerable <XElement> NFe = xml.Descendants(nsNFe + "NFe"); IEnumerable <XElement> NFe_infNFe = NFe.Elements(nsNFe + "infNFe"); IEnumerable <XElement> NFe_infNFe_det = NFe_infNFe.Elements(nsNFe + "det"); IEnumerable <XElement> NFe_infNFe_ide = NFe_infNFe.Elements(nsNFe + "ide"); if (NFe_infNFe_det == null || NFe_infNFe_det.Count() <= 0) { mensagemErro.Add("XML não tem produtos (det)"); continue; } if (NFe_infNFe_ide == null) { mensagemErro.Add("XML não tem identificação (ide)"); continue; } var NFe_infNFe_nNF = NFe_infNFe_ide.Elements(nsNFe + "nNF").FirstOrDefault(); if (NFe_infNFe_nNF == null) { mensagemErro.Add("XML não tem número (nNF)"); continue; } int numeroNfe; int.TryParse(NFe_infNFe_nNF.Value, out numeroNfe); if (numeroNfe <= 0) { mensagemErro.Add("XML tem número inválido (nNF)"); continue; } var NFe_infNFe_dhEmi = NFe_infNFe_ide.Elements(nsNFe + "dhEmi").FirstOrDefault(); if (NFe_infNFe_dhEmi == null) { mensagemErro.Add("XML não tem data de emissão (dhEmi)"); continue; } DateTime dataEmissaoNfe; DateTime.TryParse(NFe_infNFe_dhEmi.Value, out dataEmissaoNfe); if (dataEmissaoNfe == DateTime.MinValue) { mensagemErro.Add("XML tem data de emissão inválida (dhEmi)"); continue; } var notafiscalDao = new NotaFiscalDao() { Numero = numeroNfe, LojaDao = new LojaDao() { LojaID = lojaDepositoDao.LojaID }, DataEmissao = dataEmissaoNfe, DataCadastro = DateTime.Now }; var notaFiscalId = Incluir(notafiscalDao); foreach (XElement det in NFe_infNFe_det) { XElement NFe_infNFe_det_prod = det.Elements(nsNFe + "prod").FirstOrDefault(); if (NFe_infNFe_det_prod == null) { mensagemErro.Add("Produto não encontrado no XML (prod)"); continue; } XElement NFe_infNFe_det_prod_cProd = NFe_infNFe_det_prod.Elements(nsNFe + "cProd").FirstOrDefault(); XElement NFe_infNFe_det_prod_qCom = NFe_infNFe_det_prod.Elements(nsNFe + "qCom").FirstOrDefault(); XElement NFe_infNFe_det_prod_xProd = NFe_infNFe_det_prod.Elements(nsNFe + "xProd").FirstOrDefault(); XElement NFe_infNFe_det_prod_vProd = NFe_infNFe_det_prod.Elements(nsNFe + "vProd").FirstOrDefault(); long cProd = 0; short qCom = 0; double vProd = 0; if (NFe_infNFe_det_prod_cProd != null) { cProd = Convert.ToInt64(NFe_infNFe_det_prod_cProd.Value); } if (NFe_infNFe_det_prod_qCom != null) { qCom = Convert.ToInt16(Math.Floor(Convert.ToDecimal(NFe_infNFe_det_prod_qCom.Value, new CultureInfo("en-US").NumberFormat))); } if (NFe_infNFe_det_prod_vProd != null) { vProd = Convert.ToDouble(NFe_infNFe_det_prod_vProd.Value, new CultureInfo("en-US").NumberFormat); } if (cProd <= 0) { mensagemErro.Add("Código do produto não encontrado no XML"); } if (qCom <= 0) { mensagemErro.Add("Quantidade do produto não encontrado no XML"); } if (cProd <= 0 || qCom <= 0) { continue; } var produtoExisteNaLojaDeposito = produtoRepository.ListarEmLoja(0, cProd, 0, lojaDepositoDao.LojaID); var atualizado = false; if (produtoExisteNaLojaDeposito != null && produtoExisteNaLojaDeposito.ProdutoID > 0) { atualizado = produtoRepository.Atualizar(lojaDepositoDao.LojaID, cProd, qCom); if (atualizado) { mensagemSucesso.Add(string.Format("Produto {0}: Atualizado a quantidade do estoque do depósito em {1}", cProd, qCom)); } } else { var produtoDao = new ProdutoDao() { Numero = cProd, Quantidade = qCom, Ativo = true, Preco = vProd }; // encontra a medida dentro do campo xProd var regexMedida = Regex.Match(NFe_infNFe_det_prod_xProd.Value, @"[0-9]?[0-9]?[0-9]?\s[X-x]?\s[0-9]?[0-9]?[0-9]?\s[X-x]?\s[0-9]?[0-9]?[0-9]"); var medidaDao = new MedidaDao() { Descricao = regexMedida.Value.Replace(" ", "") }; // se encontrar a medida na base de dados, associa ao produto. Caso contrário, cadastra-a var medida = medidaBusiness.Listar(medidaDao).FirstOrDefault(); if (medida == null) { int medidaId = medidaBusiness.Incluir(medidaDao); produtoDao.MedidaDao.MedidaID = medidaId; produtoDao.MedidaDao.Ativo = true; } else { produtoDao.MedidaDao = medida; } // encontra a categoria dentro do campo xProd var regexCategoria = Regex.Match(NFe_infNFe_det_prod_xProd.Value, @"^[^\s]+"); var descricaoCategoria = regexCategoria.Value; if (descricaoCategoria == "BAU") { descricaoCategoria = "BAÚ"; } else if (descricaoCategoria == "COLCHAO") { descricaoCategoria = "COLCHÃO"; } else if (descricaoCategoria == "ORTOPEDICO") { descricaoCategoria = "ORTOPÉDICO"; } else if (descricaoCategoria == "SOFA") { descricaoCategoria = "SOFÁ"; } else if (descricaoCategoria == "COLCHAO") { descricaoCategoria = "COLCHÃO"; } var categoriaDao = categoriaBusiness.Listar(new CategoriaDao() { Descricao = descricaoCategoria }).FirstOrDefault(); // se encontrar a categoria na base de dados, associa ao produto. Caso contrário, cadastra-a if (categoriaDao == null) { var categoriaId = categoriaBusiness.Incluir(categoriaDao); produtoDao.CategoriaDao.FirstOrDefault().CategoriaID = categoriaId; produtoDao.CategoriaDao.FirstOrDefault().Ativo = true; } else { produtoDao.CategoriaDao.Clear(); produtoDao.CategoriaDao.Add(categoriaDao); } produtoDao.Descricao = NFe_infNFe_det_prod_xProd.Value.Substring(0, regexMedida.Index).Trim(); // cadastra o produto var produtoId = produtoRepository.Incluir(produtoDao.ToBd()); // atualiza a quantidade desse produto na loja do depósito produtoRepository.Atualizar(lojaDepositoDao.LojaID, cProd, qCom); notaFiscalProdutoBusiness.Incluir(new NotaFiscalProdutoDao() { NotaFiscalID = notaFiscalId, ProdutoDao = new ProdutoDao() { ProdutoID = produtoId }, Quantidade = qCom }); mensagemSucesso.Add(string.Format("Produto {0}: Cadastrado em todas as lojas e atualizado a quantidade do estoque do depósito em {1}", cProd, qCom)); } } if (todosProdutoAtualizados) { qtdNFeImportada++; } } scope.Complete(); } mensagemSucesso.Add(string.Format("{0} notas fiscais importadas com sucesso", qtdNFeImportada)); } catch (BusinessException ex) { throw ex; } catch (Exception ex) { logRepository.Incluir(new Log() { Descricao = ex.ToString(), DataHora = DateTime.Now }); throw ex; } }
static void Main(string[] args) { Console.WriteLine("\nPRODUTOS\n"); Console.WriteLine("\nEscolha uma das opções a seguir:\n"); Console.WriteLine("1 - Cadastrar um produto"); Console.WriteLine("2 - Atualizar um produto"); Console.WriteLine("3 - Excluir um produto"); Console.WriteLine("4 - Consultar produtos"); int opcao = int.Parse(Console.ReadLine()); Produto produto = new Produto(); ProdutoRepository repository = new ProdutoRepository(); switch (opcao) { #region Caso1 case 1: try { Console.WriteLine("Nome do Produto....: "); produto.Nome = Console.ReadLine(); Console.WriteLine("Preço do Produto...: "); produto.Preco = decimal.Parse(Console.ReadLine()); repository.AbrirConexao(); repository.Inserir(produto); Console.WriteLine("\nProduto cadastrado com sucesso!"); } catch (Exception e) { Console.WriteLine("\nErro: " + e.Message); } finally { repository.FecharConexao(); } break; #endregion #region Caso2 case 2: try { Console.WriteLine("Informe o id do Produto que deseja atualizar: "); produto.IdProduto = int.Parse(Console.ReadLine()); Console.WriteLine("\nInforme os novos dados do Produto:\n"); Console.WriteLine("Nome do Produto....: "); produto.Nome = Console.ReadLine(); Console.WriteLine("Preço do Produto...: "); produto.Preco = decimal.Parse(Console.ReadLine()); repository.AbrirConexao(); repository.Atualizar(produto); Console.WriteLine("\nProduto atualizado com sucesso!"); } catch (Exception e) { Console.WriteLine("\nErro: " + e.Message); } finally { repository.FecharConexao(); } break; #endregion #region Caso3 case 3: try { Console.WriteLine("Informe o id do Produto que deseja excluir....: "); int idProduto = int.Parse(Console.ReadLine()); repository.AbrirConexao(); repository.Excluir(idProduto); Console.WriteLine("\nProduto exluído com sucesso!"); } catch (Exception e) { Console.WriteLine("\nErro: " + e.Message); } finally { repository.FecharConexao(); } break; #endregion #region Caso4 case 4: try { List <Produto> lista = new List <Produto>(); repository.AbrirConexao(); lista = repository.Consultar(); foreach (Produto p in lista) { Console.WriteLine("\nLista de Produtos:\n"); Console.WriteLine("IdProduto.........: " + p.IdProduto); Console.WriteLine("Nome..............: " + p.Nome); Console.WriteLine("Preço.............: " + p.Preco); Console.WriteLine("Data de Cadastro..: " + p.DataCadastro); Console.WriteLine("--------------------------------------"); } } catch (Exception e) { Console.WriteLine("\nErro: " + e.Message); } finally { repository.FecharConexao(); } break; #endregion default: Console.WriteLine("Escolha uma opção válida!"); break; } Console.ReadKey(); }
public async Task Atualizar([FromBody] Produto produto) { await produtoRepository.Atualizar(produto); }