public IActionResult ObterEditar(int id) { CamadaNegocio.ProdDistCamadaNegocio pcn = new CamadaNegocio.ProdDistCamadaNegocio(); DataTable dt = pcn.ObterDadosProdDist(id); bool operacao = false; object produtoLimpo = new object(); if (dt.Rows.Count > 0) { operacao = true; DataRow dr; dr = dt.Rows[0]; produtoLimpo = new { id_estoque = dr[0], cod_ref = dr["cod_ref"], codigo = dr["cod_prod_dist"], descricao = dr["descricao"], lote = dr["lote"], saldo = dr["saldo"] }; } return(Json(new { operacao, produtoLimpo })); }
public IActionResult Criar([FromBody] Dictionary <string, string> dados, int id) { bool operacao; string msg; Models.ProdutoDist proddist = new Models.ProdutoDist(); proddist.Cod_ref = dados["cod_ref"]; proddist.Id_dist = Convert.ToInt32(HttpContext.User.Claims.ToList()[3].Value); proddist.Cod_prod_dist = dados["codigo"]; CamadaNegocio.ProdDistCamadaNegocio pcn = new CamadaNegocio.ProdDistCamadaNegocio(); (operacao, msg) = pcn.Criar(proddist, dados["lote"], id); if (operacao && id == 0) { Models.Estoque estoque = new Models.Estoque(); estoque.Id_dist = proddist.Id_dist; estoque.Id_prod = proddist.Id; estoque.Lote = dados["lote"]; estoque.Saldo = Convert.ToInt32(dados["saldo"]); CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); operacao = ecn.AlterarEstoque(estoque); } return(Json(new { operacao, msg })); }
public IActionResult Excluir(int id) { bool operacao; CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); Models.Estoque estoque = ecn.Obter(id); operacao = ecn.Excluir(id); int qtd = ecn.ObterTodosEstoque(estoque.Id_prod); if (operacao && qtd == 0) { CamadaNegocio.ProdDistCamadaNegocio pdcn = new CamadaNegocio.ProdDistCamadaNegocio(); pdcn.Excluir(estoque.Id_prod); } return(Json(new { operacao })); }
public IActionResult Pesquisar(string descricao, string tipo) { CamadaNegocio.ProdDistCamadaNegocio pcn = new CamadaNegocio.ProdDistCamadaNegocio(); var id_dist = Convert.ToInt32(HttpContext.User.Claims.ToList()[3].Value); DataTable dt = pcn.Pesquisar(descricao, id_dist, tipo); //objeto anônimo var produtosLimpos = new List <object>(); if (dt != null) { if (dt.Rows.Count > 0) { DataRow dr; for (int i = 0; i < dt.Rows.Count; i++) { dr = dt.Rows[i]; var produtoLimpo = new { id = dr[10], //id do produto distribuidor id_estoque = dr[0], //id do estoque cod_ref = dr["cod_ref"], codigo = dr["cod_prod_dist"], descricao = dr["descricao"], lote = dr["lote"], saldo = dr["saldo"] }; produtosLimpos.Add(produtoLimpo); } } } return(Json(new { operacao = dt != null, produtosLimpos })); }
private (bool, string, int, string) ProcessImport(XmlDocument xmlDoc) { CamadaNegocio.ProdDistCamadaNegocio pdcn = new CamadaNegocio.ProdDistCamadaNegocio(); List <Models.ProdutoDist> pd = new List <Models.ProdutoDist>(); CamadaNegocio.NotaCamadaNegocio ncn = new CamadaNegocio.NotaCamadaNegocio(); Models.NotaFiscal notamodelo = new Models.NotaFiscal(); CamadaNegocio.ItemNotaCamadaNegocio incn = new CamadaNegocio.ItemNotaCamadaNegocio(); Models.ItemNota itemnota; CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); //dados para rastreamento List <string> rastroCod = new List <string>(); List <string> rastroLote = new List <string>(); List <string> codProd = new List <string>(); XmlNodeList xnList, xnList2; bool operacao, entrou, nosaldo; entrou = operacao = nosaldo = false; string msg = "Produtos sem Cadastro - Códigos: "; string msg2 = "Tais Itens Não possui Saldo Suficiente - Códigos: "; string qtdeaux, qtde; xnList = xmlDoc.GetElementsByTagName("prod"); notamodelo.Tipo = HttpContext.User.Claims.ToList()[1].Value; for (int i = 0; i < xnList.Count; i++) { string id_prod = xnList[i]["cProd"].InnerText; codProd.Add(id_prod); pd.Add(pdcn.ObterProd(id_prod)); if (pd[i] == null) { entrou = true; msg += id_prod + ", "; } //verifica estoque junto //verifica se há quantidade qtdeaux = xnList[i]["qTrib"].InnerText; qtde = ""; for (int j = 0; qtdeaux[j] != '.'; j++) { qtde += qtdeaux[j]; } operacao = ecn.VerificaEstoque(id_prod, Convert.ToInt32(qtde)); if (!operacao) { nosaldo = true; msg2 += id_prod + ", "; } } msg = msg.Remove(msg.Length - 2); msg += "."; msg2 = msg2.Remove(msg2.Length - 2); msg2 += "."; string dadosadd = ""; //todos produtos cadastrados e com estoques disponiveis if (!entrou && !nosaldo) { //dados nota fiscal notamodelo.Cod_dist = Convert.ToInt32(HttpContext.User.Claims.ToList()[3].Value); xnList = xmlDoc.GetElementsByTagName("infProt"); notamodelo.Chave = xnList[0]["chNFe"].InnerText; xnList = xmlDoc.GetElementsByTagName("ide"); notamodelo.Serie = Convert.ToInt32(xnList[0]["serie"].InnerText); notamodelo.Numero = Convert.ToInt32(xnList[0]["nNF"].InnerText); notamodelo.Data = Convert.ToDateTime(xnList[0]["dhEmi"].InnerText); xnList = xmlDoc.GetElementsByTagName("fat"); notamodelo.Valor_nf = GetDouble(xnList[0]["vLiq"].InnerText, 0d); //dados adicionais xnList = xmlDoc.GetElementsByTagName("infCpl"); dadosadd = xnList[0].InnerText; string[] infoadd = dadosadd.Split(","); if (infoadd.Length > 0) { string[] paciente = infoadd[0].Split(":"); if (paciente.Length > 0) { notamodelo.Paciente = paciente[1].Trim(); } if (infoadd.Length >= 2) { string[] medico = infoadd[1].Split(":"); if (medico.Length > 0) { notamodelo.Medico = medico[1].Trim(); } if (infoadd.Length >= 3) { string[] convenio = infoadd[2].Split(":"); if (convenio.Length > 0) { notamodelo.Convenio = convenio[1].Trim(); } if (infoadd.Length >= 4) { string[] data_cirurgia = infoadd[4].Split(":"); if (data_cirurgia.Length > 0) { notamodelo.Data_cirurgia = DateTime.ParseExact(data_cirurgia[1].Trim(), "dd/MM/yyyy", null); } if (infoadd.Length >= 5) { string[] hospital = infoadd[5].Split(":"); if (hospital.Length == 0) { notamodelo.Hospital = ""; } else { notamodelo.Hospital = hospital[1].Trim(); } } } } } } operacao = ncn.Criar(notamodelo); if (operacao) { xnList = xmlDoc.GetElementsByTagName("prod"); xnList2 = xmlDoc.GetElementsByTagName("infAdProd"); for (int i = 0; i < xnList.Count; i++) { itemnota = new Models.ItemNota(); itemnota.Id_nota = notamodelo.Id; itemnota.Id_prod = pd[i].Id; //lote string dadosinfo = xnList2[i].InnerText; string[] dados = dadosinfo.Split(";"); string[] dados2 = dados[1].Split(":"); string lote = dados2[1].Split(" ")[1]; itemnota.Lote = lote; qtdeaux = xnList[i]["qTrib"].InnerText; qtde = ""; for (int j = 0; qtdeaux[j] != '.'; j++) { qtde += qtdeaux[j]; } itemnota.Qtde = Convert.ToInt32(qtde); itemnota.Valor_unit = GetDouble(xnList[i]["vUnTrib"].InnerText, 0d); rastroCod.Add(codProd[i]); rastroLote.Add(itemnota.Lote); operacao = incn.Criar(itemnota); } } else { return(operacao, "Problemas com os dados da Nota Fiscal!", notamodelo.Id, "Erro"); } } if (entrou) { return(false, msg, 0, "Erro"); } else if (nosaldo) { return(false, msg2, notamodelo.Id, dadosadd); } else { xnList = xmlDoc.GetElementsByTagName("dest"); Models.Destino destino = new Models.Destino(); destino.Nome = xnList[0]["xNome"].InnerText; xnList = xmlDoc.GetElementsByTagName("enderDest"); destino.Rua = xnList[0]["xLgr"].InnerText; destino.Numero = Convert.ToInt32(xnList[0]["nro"].InnerText); destino.Bairro = xnList[0]["xBairro"].InnerText; destino.Cidade = xnList[0]["xMun"].InnerText; destino.Estado = xnList[0]["UF"].InnerText; destino.Cep = xnList[0]["CEP"].InnerText; destino.salvar(rastroCod, rastroLote); return(operacao, "Dados Importados!", notamodelo.Id, dadosadd); } }