public bool Criar(Models.ItemNota itemnota) { var parametros = _bd.GerarParametros(); string sql; if (itemnota.Id > 0) { sql = @"update item_nota set id_nota=@id_nota,id_prod=@id_prod,lote=@lote,qtde=@qtde,valor_unit=@valor_unit," + "where id=@id"; parametros.Add("@id", itemnota.Id); } else { sql = @"insert into item_nota(id_nota,id_prod,lote,qtde,valor_unit)" + "values(@id_nota,@id_prod,@lote,@qtde,@valor_unit)"; } parametros.Add("@id_nota", itemnota.Id_nota); parametros.Add("@id_prod", itemnota.Id_prod); parametros.Add("@lote", itemnota.Lote); parametros.Add("@qtde", itemnota.Qtde); parametros.Add("@valor_unit", itemnota.Valor_unit); int linhasAfetadas = _bd.ExecutarNonQuery(sql, parametros); if (itemnota.Id == 0) { itemnota.Id = _bd.UltimoId; } return(linhasAfetadas > 0); }
public bool Criar(Models.ItemNota itemnota) { bool operacao; DAO.ItemNotaDAO inbd = new DAO.ItemNotaDAO(); operacao = inbd.Criar(itemnota); return(operacao); }
internal Models.ItemNota Map(DataRow row) { Models.ItemNota itemnota = new Models.ItemNota(); itemnota.Id = Convert.ToInt32(row["id"]); itemnota.Id_prod = Convert.ToInt32(row["Id_prod"]); itemnota.Lote = row["Lote"].ToString(); itemnota.Qtde = Convert.ToInt32(row["Qtde"]); itemnota.Valor_unit = Convert.ToDouble(row["Valor_unit"]); return(itemnota); }
public Models.ItemNota ObterItemId_Prod(int id_prod) { Models.ItemNota item = null; string select = @"select * from item_nota where id_prod = " + id_prod; DataTable dt = _bd.ExecutarSelect(select); if (dt.Rows.Count == 1) { //ORM - Relacional -> Objeto item = Map(dt.Rows[0]); } return(item); }
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); } }
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); } }