public bool Salvar(Compra _compra) { bool retorno = false; if (_compra != null && _compra.IdCompra != null) { Compra newest = new Compra(); newest = _compra; if (_comprasRepositorie.save(newest) > 0) { retorno = true; } } else { if (_comprasRepositorie.update(_compra) > 0) { retorno = true; } } return retorno; }
public ActionResult Salvar(HttpPostedFileBase file) { if (Request.IsAjaxRequest()) { var sValores = String.Empty; var oFile = Request.Files["oFile"]; string line; using (System.IO.StreamReader read = new System.IO.StreamReader(oFile.InputStream)) { #region --|COMPRADOR|-- string comprador = String.Empty; string descricao = String.Empty; decimal precoUnitario = 0; int quantidade = 0; string endereco = String.Empty; string fornecedor = String.Empty; #endregion while ((line = read.ReadLine()) != null) { sValores += line.Replace("\t","|"); string[] vetor = line.Split('\t'); if (!vetor[0].StartsWith("Comprador")) { try { #region -- Variaveis vindas do arquivo comprador = vetor[0];//Comprador descricao = vetor[1];//Descricao precoUnitario = decimal.Parse(vetor[2]);//Preco quantidade = int.Parse(vetor[3]);//Quantidade endereco = vetor[4];//Endereco fornecedor = vetor[5];//Fornecedor #endregion #region -- | Laco de negocios //1. Insiro o Comprador Caso nao Exista var oComprador = new CompradorDAO(new CompradorRepositories()); var existComprador = oComprador.existsComprador(comprador); if (existComprador == false) { Comprador novoComprador = new Comprador(); novoComprador.NomeComprador = comprador; if (!oComprador.Salvar(novoComprador)) { throw new Exception("Nao foi possivel salvar o comprador!"); } } var __comprador = oComprador.getComprador(comprador); oComprador.Dispose(); //2. Insiro o Fornecedor var oFornecedor = new FornecedorDAO(new FornecedorRepositories()); var existFornecedor = oFornecedor.existsFornecedor(fornecedor); if (existFornecedor == false) { Fornecedor novoFornecedor = new Fornecedor(); novoFornecedor.NomeFornecedor = fornecedor; if (!oFornecedor.Salvar(novoFornecedor)) { throw new Exception("Nao foi possivel salvar o produto!"); } } var __fornecedor = oFornecedor.getFornecedor(fornecedor); oFornecedor.Dispose(); //3. Insiro o produto var oProduto = new ProdutoDAO(new ProdutoRepositories()); var existProduto = oProduto.existsProduto(descricao); if (existProduto == false) { Produto novoProduto = new Produto(); novoProduto.DescricaoProduto = descricao; novoProduto.ValorUnitario = precoUnitario; novoProduto.FornecedorIdFornecedor = __fornecedor.IdFornecedor; if (!oProduto.Salvar(novoProduto)) { throw new Exception("Nao foi possivel salvar o produto!"); } } var __produto = oProduto.getProduto(descricao); oProduto.Dispose(); //4. Alimento o Pedido e o Detalhe do Pedido var oPedido = new ComprasDAO(new ComprasRepositories()); Compra pedido = new Compra(); pedido.Comprador = __comprador; pedido.DtCompra = DateTime.Now; var existPedidoAberto = oPedido.existsPedidoAberto(__fornecedor.IdFornecedor, __comprador.IdComprador, __produto.IdProduto); if (!oPedido.Salvar(pedido)) //&& !oDetCompras.Salvar(detPedido) { throw new Exception("Nao foi possivel salvar o Pedido!"); } var __pedido = oPedido.getPedido(pedido.IdCompra); oPedido.Dispose(); var oDetCompras = new DetalheComprasDAO(new DetalheComprasRepositories()); DetalheCompra detPedido = new DetalheCompra(); detPedido.ProdutoIdProduto = __produto.IdProduto; detPedido.Produto = __produto; detPedido.QtdeProdutoCompra = quantidade; detPedido.ComprasIdCompra = __pedido.IdCompra; if (!oDetCompras.Salvar(detPedido)) { throw new Exception("Nao foi possivel salvar o Pedido!"); } oDetCompras.Dispose(); sValores = "Pedido efetuado com sucesso!"; #endregion } catch (Exception ex) { sValores = ex.Message.ToString(); } }//Fim !columns }//Fim while }//Fim using ViewData["valores"] = sValores; return Json(ViewData); } else { return View(); } }