public IActionResult Buscar([FromBody] Dictionary <string, string> dados) { bool operacao = false; string lote = dados["lote"]; string codigo = dados["codigo"]; string hospital = dados["hospital"]; CamadaNegocio.IndustriaCamadaNegocio icn = new CamadaNegocio.IndustriaCamadaNegocio(); CamadaNegocio.DistribuidorCamadaNegocio dcn = new CamadaNegocio.DistribuidorCamadaNegocio(); CamadaNegocio.CidadeCamadaNegocio ccn = new CamadaNegocio.CidadeCamadaNegocio(); CamadaNegocio.RastroCamadaNegocio rcn = new CamadaNegocio.RastroCamadaNegocio(); DataTable dt = rcn.Buscar(lote, codigo, hospital); Models.Industria indust = new Models.Industria(); Models.Distribuidor dist = new Models.Distribuidor(); string cidadeIndust = ""; string estadoIndust = ""; string cidadeDist = ""; string estadoDist = ""; var rastreioDestino = new object(); if (dt.Rows.Count > 0) { operacao = true; DataRow dr; dr = dt.Rows[0]; indust = icn.Obter(Convert.ToInt32(dr["ri_id_indust"])); dist = dcn.Obter(Convert.ToInt32(dr["rd_id_dist"])); cidadeIndust = ccn.ObterNomeCidade(indust.Cidade); estadoIndust = ccn.ObterNomeEstado(indust.Estado); cidadeDist = ccn.ObterNomeCidade(dist.Cidade); estadoDist = ccn.ObterNomeEstado(dist.Estado); rastreioDestino = new { descricao = dr["descricao"], ri_id_indust = dr["ri_id_indust"], rd_id_dist = dr["rd_id_dist"], rdest_nome = dr["rdest_nome"], rdest_rua = dr["rdest_rua"], rdest_numero = dr["rdest_numero"], rdest_bairro = dr["rdest_bairro"], rdest_cidade = dr["rdest_cidade"], rdest_estado = dr["rdest_estado"], rdest_cep = dr["rdest_cep"] }; } return(Json(new { operacao, indust, cidadeIndust, estadoIndust, cidadeDist, estadoDist, dist, rastreioDestino })); }
private (bool, string, int, string) ProcessImport(XmlDocument xmlDoc) { CamadaNegocio.ProdIndustCamadaNegocio picn = new CamadaNegocio.ProdIndustCamadaNegocio(); List <Models.ProdutoIndust> pi = new List <Models.ProdutoIndust>(); CamadaNegocio.NotaCamadaNegocio ncn = new CamadaNegocio.NotaCamadaNegocio(); Models.NotaFiscal notamodelo = new Models.NotaFiscal(); CamadaNegocio.ItemNotaCamadaNegocio incn = new CamadaNegocio.ItemNotaCamadaNegocio(); Models.ItemNota itemnota; //dados para rastreamento List <int> rastroCod = new List <int>(); List <string> rastroLote = new List <string>(); XmlNodeList xnList, xnList2; bool operacao, entrou; entrou = operacao = false; string msg = "Produtos sem Cadastro - Códigos: "; string cnpjdist = ""; 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; pi.Add(picn.ObterProd(id_prod)); if (pi[i] == null) { entrou = true; msg += id_prod + ", "; } } msg = msg.Remove(msg.Length - 2); msg += "."; //todos produtos cadastrados if (!entrou) { //dados nota fiscal notamodelo.Cod_indust = 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); operacao = ncn.Criar(notamodelo); if (operacao) { xnList = xmlDoc.GetElementsByTagName("prod"); xnList2 = xmlDoc.GetElementsByTagName("rastro"); for (int i = 0; i < xnList.Count; i++) { itemnota = new Models.ItemNota(); itemnota.Id_nota = notamodelo.Id; itemnota.Id_prod = pi[i].Id; itemnota.Lote = xnList2[i]["nLote"].InnerText; string qtdeaux = xnList[i]["qTrib"].InnerText; string 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(itemnota.Id_prod); rastroLote.Add(itemnota.Lote); operacao = incn.Criar(itemnota); } } else { return(operacao, "Problemas com os dados da Nota Fiscal!", notamodelo.Id, cnpjdist); } } if (!entrou) { xnList = xmlDoc.GetElementsByTagName("dest"); cnpjdist = xnList[0]["CNPJ"].InnerText; //salvar o rastreio CamadaNegocio.RastroCamadaNegocio rcn = new CamadaNegocio.RastroCamadaNegocio(); rcn.Criar(rastroCod, rastroLote, cnpjdist, notamodelo.Cod_indust); return(operacao, "Dados Importados!", notamodelo.Id, cnpjdist); } else { return(false, msg, 0, cnpjdist); } }