/// <summary> /// Retorna os dados estruturais de um componente isolado /// </summary> /// <param name="filial"></param> /// <param name="codigo"></param> /// <returns></returns> public async Task <JsonResult> GetInformationByCodigo(string filial, string codigo, string formula) { codigo = codigo.PadRight(15, ' '); EstruturaProduto estru = await produtoDAO.GetDadosDaEstruturaAsync(filial, codigo.Substring(0, 15)); return(Json(new { estrutura = estru, success = true })); }
public EstruturaProduto Put([FromBody] Models.Produto produto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); if (produto == null) { throw new Exception("o produto a ser alterado não pode ser nulo"); } if (produto.idProduct == 0) { throw new Exception("Favor selecionar um produto!"); } List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } Models.Produto produtoAlterado = listProdutos.Where(x => x.idProduct == produto.idProduct).SingleOrDefault(); if (produtoAlterado == null) { throw new Exception("produto selecionado não existe"); } listProdutos.Remove(produtoAlterado); listProdutos.Add(produto); estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(estruturaProduto.Produtos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public EstruturaProduto Delete(int idProduto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); if (idProduto == 0) { //Retornar produto que contenha o id especificado throw new Exception("produto selecionado não existe"); } List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } Models.Produto produtoRemovido = listProdutos.Where(x => x.idProduct == idProduto).SingleOrDefault(); if (produtoRemovido == null) { throw new Exception("produto selecionado não existe"); } listProdutos.Remove(produtoRemovido); estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(estruturaProduto.Produtos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public EstruturaProduto Get(int?idProduto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } //Criar método para popular lista de produtos if (idProduto.HasValue) { //Retornar produto que contenha o id especificado estruturaProduto.Produtos = listProdutos.Where(x => x.idProduct == idProduto).ToList(); if (estruturaProduto.Produtos.Count == 0) { throw new Exception("Produto Selecionado não Existe"); } return(estruturaProduto); } estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(listProdutos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public EstruturaProduto Post(Models.Produto produto) { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { BaseProdutos baseProdutos = new BaseProdutos(); if (produto == null) { //Erro throw new Exception("o produto a ser inserido não pode ser nulo"); } //Realizar outras validações List <Models.Produto> listProdutos = new List <Models.Produto>(); string ListaProdutosSession = HttpContext.Session.GetString("Produtos"); if (string.IsNullOrEmpty(ListaProdutosSession)) { listProdutos = baseProdutos.PopularProdutos(); } else { listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession); } if (listProdutos.Where(x => x.idProduct == produto.idProduct).SingleOrDefault() != null) { throw new Exception("Já existe um produto com esse Identificador registrado"); } listProdutos.Add(produto); estruturaProduto.Produtos = listProdutos; string listaProdutos = JsonConvert.SerializeObject(estruturaProduto.Produtos); HttpContext.Session.SetString("Produtos", listaProdutos); return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
private EstruturaProduto APIListarProdutoPorID(int id) { using (var client = new HttpClient()) { string endpoint = $"https://localhost:44383/api/Produto?idProduto=" + id; var response = client.GetAsync(endpoint).Result; var responseString = response.Content.ReadAsStringAsync().Result; EstruturaProduto estruturaProduto = Newtonsoft.Json.JsonConvert.DeserializeObject <EstruturaProduto>(responseString); if (!response.IsSuccessStatusCode) { estruturaProduto.descricaoErro = "Erro ao listar Produtos"; estruturaProduto.isError = true; } return(estruturaProduto); } }
/// <summary> /// Obtem a descrição do Produto buscando pelo código e Filial /// </summary> /// <param name="filial"></param> /// <param name="codigoProduto"></param> /// <returns></returns> public async Task <EstruturaProduto> GetDadosDaEstruturaAsync(string filial, string codigoProduto) { Produto produto = new Produto(); EstruturaProduto estrutura = new EstruturaProduto(); using (SqlCommand comando = conecxao.CreateCommand()) { string query = String.Format("select B1_FILIAL,B1_TIPO," + " B1_DESC," + " B1_GRUPO,B1_UM, " + " ISNULL(Z06_CUSTO1,0) AS Z06_CUSTO1" + " from SB1010 SB1" + " LEFT JOIN Z06010 AS Z06 ON Z06_PROD=B1_COD AND Z06_FILIAL=B1_FILIAL" + " where" + " SB1.D_E_L_E_T_=''" + " AND B1_COD='{0}'" + " AND B1_FILIAL='{1}'", codigoProduto, filial); comando.CommandText = query; using (SqlDataReader leitor = await comando.ExecuteReaderAsync()) { while (leitor.Read()) { estrutura.DescricaoComponente = leitor["B1_DESC"].ToString(); estrutura.Filial = leitor["B1_FILIAL"].ToString(); estrutura.Tipo = leitor["B1_TIPO"].ToString(); estrutura.Unidade = leitor["B1_UM"].ToString(); estrutura.CustoMateriPrima = Convert.ToDouble(leitor["Z06_CUSTO1"]); } } if (estrutura.Tipo == "PA") { produto = await this.GetByCodigoAsync(codigoProduto, filial, this.LastFormula(codigoProduto, filial), 1); estrutura.CustoMateriPrima = produto.GetCustoTotalNivelComRendimento(1); } } return(estrutura); }
public EstruturaProduto ListarProdutos() { EstruturaProduto estruturaProduto = new EstruturaProduto(); try { estruturaProduto = APIListarProduto(); if (estruturaProduto.isError.HasValue) { throw new Exception(estruturaProduto.descricaoErro); } return(estruturaProduto); } catch (Exception ex) { estruturaProduto.isError = true; estruturaProduto.descricaoErro = ex.Message; return(estruturaProduto); } }
public EstruturaVenda InserirProduto([FromBody] EstruturaEntradaCriarVenda entrada, int idVenda) { EstruturaVenda estruturaVenda = new EstruturaVenda(); try { BaseVendas baseProdutos = new BaseVendas(); if (entrada == null) { throw new Exception("o produto a ser inserido não pode ser nulo"); } if (idVenda == 0) { throw new Exception("Favor selecionar uma venda!"); } string ListaVendasSession = HttpContext.Session.GetString("Vendas"); if (string.IsNullOrEmpty(ListaVendasSession)) { throw new Exception("Não há vendas Registradas"); } else { estruturaVenda.Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession); } Models.Vendas VendaAlterada = estruturaVenda.Vendas.Where(x => x.idVenda == idVenda).SingleOrDefault(); if (VendaAlterada == null) { throw new Exception("A venda selecionada não existe"); } foreach (var item in entrada.EntradaCriarVenda) { EstruturaProduto estruturaProduto = APIListarProdutoPorID(item.idProduto); Models.Produto produto = new Models.Produto(); produto.idProduct = item.idProduto; produto.productName = estruturaProduto.Produtos[0].productName; produto.description = estruturaProduto.Produtos[0].description; produto.cathegory = estruturaProduto.Produtos[0].cathegory; produto.price = estruturaProduto.Produtos[0].price; produto.quantidade = item.quantidadeProdutos; VendaAlterada.produtos.Add(produto); VendaAlterada.valorTotal = VendaAlterada.valorTotal + estruturaProduto.Produtos[0].price * item.quantidadeProdutos; } string listaVendas = JsonConvert.SerializeObject(estruturaVenda.Vendas); HttpContext.Session.SetString("Vendas", listaVendas); return(estruturaVenda); } catch (Exception ex) { estruturaVenda.isError = true; estruturaVenda.descricaoErro = ex.Message; return(estruturaVenda); } }
public EstruturaVenda Post(EstruturaEntradaCriarVenda entrada) { EstruturaVenda estruturaVenda = new EstruturaVenda(); string ListaVendasSession = HttpContext.Session.GetString("Vendas"); if (!string.IsNullOrEmpty(ListaVendasSession)) { estruturaVenda.Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession); } List <Models.Vendas> listVendas = new List <Models.Vendas>(); try { if (entrada == null) { //Erro throw new Exception("A venda a ser criada não pode ser nula"); } //Realizar outras validações Models.Vendas venda = new Models.Vendas(); venda.produtos = new List <Models.Produto>(); foreach (var item in entrada.EntradaCriarVenda) { EstruturaProduto estruturaProduto = APIListarProdutoPorID(item.idProduto); Models.Produto produto = new Models.Produto(); produto.idProduct = item.idProduto; produto.productName = estruturaProduto.Produtos[0].productName; produto.description = estruturaProduto.Produtos[0].description; produto.cathegory = estruturaProduto.Produtos[0].cathegory; produto.price = estruturaProduto.Produtos[0].price; produto.quantidade = item.quantidadeProdutos; venda.produtos.Add(produto); venda.valorTotal = venda.valorTotal + estruturaProduto.Produtos[0].price * item.quantidadeProdutos; if (!string.IsNullOrEmpty(ListaVendasSession)) { List <Models.Vendas> Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession); venda.idVenda = 0; foreach (var sale in Vendas) { if (sale.idVenda > venda.idVenda) { venda.idVenda = sale.idVenda; } } venda.idVenda++; } else { venda.idVenda = 1; } } estruturaVenda.Vendas.Add(venda); string listaVendas = JsonConvert.SerializeObject(estruturaVenda.Vendas); HttpContext.Session.SetString("Vendas", listaVendas); return(estruturaVenda); } catch (Exception ex) { estruturaVenda.isError = true; estruturaVenda.descricaoErro = ex.Message; return(estruturaVenda); } }