public List <belDet> xmlBuscaDet() { XmlDocument xDet = new XmlDocument(); XmlDocument xProd = new XmlDocument(); XmlDocument xImpostos = new XmlDocument(); XmlDocument xIcms = new XmlDocument(); XmlDocument xIcmsN = new XmlDocument(); List <belDet> lobjDet = new List <belDet>(); belDet objDet = new belDet(); belProd objProd = new belProd(); belIcms objIcms = new belIcms(); try { for (int i = 0; i < xDoc.GetElementsByTagName("det").Count; i++) { xDet.LoadXml(xDoc.GetElementsByTagName("det")[i].OuterXml); xProd.LoadXml(xDet.GetElementsByTagName("prod")[i].OuterXml); objProd.Cprod = xProd.GetElementsByTagName("cProd")[0].InnerText; objProd.Cean = xProd.GetElementsByTagName("cEAN")[0].InnerText; objProd.Xprod = xProd.GetElementsByTagName("xProd")[0].InnerText; objProd.Ncm = xProd.GetElementsByTagName("NCM")[0].InnerText; objProd.Cfop = xProd.GetElementsByTagName("CFOP")[0].InnerText; objProd.Ucom = xProd.GetElementsByTagName("uCom")[0].InnerText; objProd.Qcom = Convert.ToDecimal(xProd.GetElementsByTagName("qCom")[0].InnerText); objProd.Vuncom = Convert.ToDecimal(xProd.GetElementsByTagName("vUnCom")[0].InnerText); objProd.Vprod = Convert.ToDecimal(xProd.GetElementsByTagName("vProd")[0].InnerText); objProd.Ceantrib = Convert.ToString(xProd.GetElementsByTagName("cEANTrib")[0].InnerText); objProd.Utrib = xProd.GetElementsByTagName("uTrib")[0].InnerText; objProd.Qtrib = Convert.ToDecimal(xProd.GetElementsByTagName("qTrib")[0].InnerText); objProd.Vuntrib = Convert.ToDecimal(xProd.GetElementsByTagName("vUnTrib")[0].InnerText); xImpostos.LoadXml(xDet.GetElementsByTagName("imposto")[0].OuterXml); xIcms.LoadXml(xImpostos.GetElementsByTagName("ICMS")[0].OuterXml); objIcms = xmlBuscaDetICMS(xIcms); belIpi objIPI = xmlBuscaDetIPI(xImpostos); belIi objII = xmlBuscaDetII(xImpostos); belPis objPis = xmlBuscaDetPis(xImpostos); belCofins objCofins = xmlBuscaDetCofins(xImpostos); } } catch (Exception ex) { throw new Exception(string.Format("Problemas lendo a Tag Det, Erro.: {0}", ex.Message)); } return(lobjDet); }
private string CadastraCF(belProd psObjProd) { string scf = string.Empty; try { scf = BuscaValorChavePrimaria("CLAS_FIS", 7, "CD_CF", "CLAS_FIS", objInfNFe.Empresa); StringBuilder sbCFCampos = new StringBuilder(); StringBuilder sbCFValores = new StringBuilder(); string sdsMcn = (psObjProd.Ncm != null ? psObjProd.Ncm.ToString() : "GERAL"); sbCFCampos.Append("cd_empresa"); sbCFCampos.Append(", "); sbCFValores.Append("'"); sbCFValores.Append(objInfNFe.Empresa.ToString()); sbCFValores.Append("', "); sbCFCampos.Append("cd_cf"); sbCFCampos.Append(", "); sbCFValores.Append("'"); sbCFValores.Append(scf); sbCFValores.Append("', "); sbCFCampos.Append("ds_clasfis"); sbCFCampos.Append(", "); sbCFValores.Append("'"); sbCFValores.Append(sdsMcn); sbCFValores.Append("', "); sbCFCampos.Append("ds_ncm"); sbCFCampos.Append(" "); sbCFValores.Append("'"); sbCFValores.Append(sdsMcn); sbCFValores.Append("' "); string sInstrucao = string.Format("insert into clas_fis ({0}) values ({1})", sbCFCampos.ToString(), sbCFValores.ToString()); using (FbCommand cmd = new FbCommand(sInstrucao, Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } cmd.ExecuteNonQuery(); } } catch (Exception ex) { throw new Exception(string.Format("Não foi possível cadastrar a Classificação fiscal, Erro {0}", ex.Message)); } finally { if (Conexao.State == ConnectionState.Open) { Conexao.Close(); } } return scf; }
private string CadastraLinha(belProd psObjProd) { string sLinha = string.Empty; try { sLinha = BuscaValorChavePrimaria("LINHAPRO", 7, "CD_LINHA", "LINHAPRO", objInfNFe.Empresa); StringBuilder sFiltro = new StringBuilder(); sFiltro.Append("cd_empresa ='"); sFiltro.Append(objInfNFe.Empresa); sFiltro.Append("'"); sFiltro.Append(" and "); sFiltro.Append("cd_linha = '"); sFiltro.Append(sLinha); sFiltro.Append("'"); if (!RegistroExiste("LINHAPRO", sFiltro.ToString(), "CD_LINHA")) { StringBuilder sbLinhaCampos = new StringBuilder(); StringBuilder sbLinhaValores = new StringBuilder(); sbLinhaCampos.Append("cd_empresa"); sbLinhaCampos.Append(", "); sbLinhaValores.Append("'"); sbLinhaValores.Append(objInfNFe.Empresa.ToString()); sbLinhaValores.Append("', "); sbLinhaCampos.Append("cd_linha"); sbLinhaCampos.Append(", "); sbLinhaValores.Append("'"); sbLinhaValores.Append(sLinha); sbLinhaValores.Append("', "); sbLinhaCampos.Append("ds_linha"); sbLinhaCampos.Append(", "); sbLinhaValores.Append("'"); sbLinhaValores.Append("Geral"); sbLinhaValores.Append("', "); sbLinhaCampos.Append("st_linha"); sbLinhaValores.Append("'"); sbLinhaValores.Append("A"); sbLinhaValores.Append("' "); string sInstrucao = string.Format("insert into LinhaPro ({0}) values ({1})", sbLinhaCampos.ToString(), sbLinhaValores.ToString()); using (FbCommand cmd = new FbCommand(sInstrucao, Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } cmd.ExecuteNonQuery(); } } } catch (Exception ex) { throw new Exception(string.Format("Não foi possível cadastrar a Linha de Produto. Erro {0}", ex.Message)); } finally { if (Conexao.State == ConnectionState.Open) { Conexao.Close(); } } return sLinha; }
private string CadastraUnidade(belProd psObjProd) { string sUnidade = psObjProd.Ucom; try { // sUnidade = BuscaValorChavePrimaria("UNIDADES", 2, "CD_TPUNID", "UNIDADES", objInfNFe.Empresa); StringBuilder sbUnidadeCampos = new StringBuilder(); StringBuilder sbUnidadeValores = new StringBuilder(); sbUnidadeCampos.Append("cd_tpunid"); sbUnidadeCampos.Append(", "); sbUnidadeValores.Append("'"); sbUnidadeValores.Append(sUnidade); sbUnidadeValores.Append("', "); sbUnidadeCampos.Append("ds_unidade"); sbUnidadeValores.Append("'"); sbUnidadeValores.Append(sUnidade); sbUnidadeValores.Append("' "); string sInstrucao = string.Format("insert into Unidades ({0}) values ({1})", sbUnidadeCampos.ToString(), sbUnidadeValores.ToString()); using (FbCommand cmd = new FbCommand(sInstrucao, Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } cmd.ExecuteNonQuery(); } } catch (Exception ex) { throw new Exception(string.Format("Não foi possível cadastrar a Unidade do Produto. Erro {0}", ex.Message)); } finally { if (Conexao.State == ConnectionState.Open) { Conexao.Close(); } } return sUnidade; }
private strucProd BuscaProd(string psEmp, belProd psObjProd) { psObjProd.Cprod = psObjProd.Cprod.Replace(" ", "").ToUpper(); if (psObjProd.Cprod.Length > 7) { psObjProd.Cprod = psObjProd.Cprod.Substring(0, 7); } strucProd objProd = new strucProd(); try { StringBuilder sFiltro = new StringBuilder(); sFiltro.Append("cd_empresa = '"); sFiltro.Append(psEmp); sFiltro.Append("'"); sFiltro.Append(" and "); sFiltro.Append("ds_prod = '"); sFiltro.Append(psObjProd.Xprod.Trim()); sFiltro.Append("'"); bool bAchouProd = RegistroExiste("PRODUTO", sFiltro.ToString(), "ds_prod"); if (bAchouProd) { psObjProd.Cprod = RetCodigoRegistro("PRODUTO", sFiltro.ToString(), "cd_prod"); } else { psObjProd.Cprod = RetornaProximoValorGenerator("PRODUTO190", 7); } if (bAchouProd) { StringBuilder sCamposProd = new StringBuilder(); sCamposProd.Append("Select "); sCamposProd.Append("cd_linha, "); sCamposProd.Append("cd_cf "); sCamposProd.Append("from Produto "); sCamposProd.Append("Where "); using (FbCommand cmd = new FbCommand(sCamposProd.ToString() + sFiltro.ToString(), Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } FbDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { if (dr["cd_cf"].ToString() == "") { objProd.scdcf = null; } else { objProd.scdcf = dr["cd_cf"].ToString(); } objProd.scdLinha = dr["cd_linha"].ToString(); } } } else { string dsmcm = string.Empty; dsmcm = (psObjProd.Ncm != null ? psObjProd.Ncm.ToString() : "GERAL"); StringBuilder sbNCM = new StringBuilder(); sbNCM.Append("cd_empresa ='"); sbNCM.Append(psEmp); sbNCM.Append("'"); sbNCM.Append(" and "); sbNCM.Append("ds_clasfis ='"); sbNCM.Append(dsmcm); sbNCM.Append("'"); bool bAchouCF = RegistroExiste("CLAS_FIS", sbNCM.ToString(), "cd_cf"); string scf = string.Empty; if (bAchouCF) { using (FbCommand cmd = new FbCommand("Select cd_cf from clas_fis where " + sbNCM.ToString(), Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } scf = cmd.ExecuteScalar().ToString(); } } else { scf = CadastraCF(psObjProd); } objProd.scdcf = scf; StringBuilder sbLinha = new StringBuilder(); sbLinha.Append("cd_empresa ='"); sbLinha.Append(psEmp); sbLinha.Append("'"); sbLinha.Append(" and "); sbLinha.Append("ds_linha ='"); sbLinha.Append("GERAL"); sbLinha.Append("'"); bool bAchouLinha = RegistroExiste("LINHAPRO", sbLinha.ToString(), "cd_linha"); string sLinha = string.Empty; if (bAchouLinha) { using (FbCommand cmd = new FbCommand("Select cd_linha from linhapro where " + sbLinha.ToString(), Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } sLinha = cmd.ExecuteScalar().ToString(); } } else { sLinha = CadastraLinha(psObjProd); } objProd.scdLinha = sLinha; StringBuilder sbUnidade = new StringBuilder(); sbUnidade.Append("cd_tpunid ='"); sbUnidade.Append(psObjProd.Ucom.ToString()); sbUnidade.Append("'"); bool bAchouUnidade = RegistroExiste("UNIDADES", sbUnidade.ToString(), "cd_tpunid"); string sUnidade = string.Empty; if (bAchouUnidade) { using (FbCommand cmd = new FbCommand("Select cd_tpunid from Unidades where " + sbUnidade.ToString(), Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } sUnidade = cmd.ExecuteScalar().ToString(); } } else { sUnidade = CadastraUnidade(psObjProd); } StringBuilder sbProdutoCampos = new StringBuilder(); StringBuilder sbProdutoValores = new StringBuilder(); sbProdutoCampos.Append("cd_empresa"); sbProdutoCampos.Append(", "); sbProdutoValores.Append("'"); sbProdutoValores.Append(objInfNFe.Empresa.ToString()); sbProdutoValores.Append("', "); sbProdutoCampos.Append("cd_prod"); sbProdutoCampos.Append(", "); sbProdutoValores.Append("'"); sbProdutoValores.Append(psObjProd.Cprod.ToString().PadLeft(7, '0')); sbProdutoValores.Append("', "); sbProdutoCampos.Append("cd_cf"); sbProdutoCampos.Append(", "); sbProdutoValores.Append("'"); sbProdutoValores.Append(scf); sbProdutoValores.Append("', "); sbProdutoCampos.Append("cd_linha"); sbProdutoCampos.Append(", "); sbProdutoValores.Append("'"); sbProdutoValores.Append(sLinha); sbProdutoValores.Append("', "); sbProdutoCampos.Append("cd_tpunid"); sbProdutoCampos.Append(", "); sbProdutoValores.Append("'"); sbProdutoValores.Append(sUnidade); sbProdutoValores.Append("', "); string sdsprod = psObjProd.Xprod.ToString(); if (sdsprod.Length > 35) { sdsprod = sdsprod.Substring(0, 34); } sbProdutoCampos.Append("ds_prod"); sbProdutoCampos.Append(", "); sbProdutoValores.Append("'"); sbProdutoValores.Append(sdsprod.Trim()); sbProdutoValores.Append("', "); sbProdutoCampos.Append("cd_alter"); sbProdutoValores.Append("'"); sbProdutoValores.Append(psObjProd.Cprod); sbProdutoValores.Append("' "); string sInstrucao = string.Format("insert into produto ({0}) values ({1})", sbProdutoCampos.ToString(), sbProdutoValores.ToString()); using (FbCommand cmd = new FbCommand(sInstrucao, Conexao)) { if (Conexao.State != ConnectionState.Open) { Conexao.Open(); } cmd.ExecuteNonQuery(); } } } catch (Exception ex) { throw new Exception(string.Format("Não foi possível Buscar o Item, Erro {0}", ex.Message)); } return objProd; }
public List<belDet> xmlBuscaDet() { XmlDocument xDet = new XmlDocument(); XmlDocument xProd = new XmlDocument(); XmlDocument xImpostos = new XmlDocument(); XmlDocument xIcms = new XmlDocument(); XmlDocument xIcmsN = new XmlDocument(); List<belDet> lobjDet = new List<belDet>(); belDet objDet = new belDet(); belProd objProd = new belProd(); belIcms objIcms = new belIcms(); try { for (int i = 0; i < xDoc.GetElementsByTagName("det").Count; i++) { xDet.LoadXml(xDoc.GetElementsByTagName("det")[i].OuterXml); xProd.LoadXml(xDet.GetElementsByTagName("prod")[i].OuterXml); objProd.Cprod = xProd.GetElementsByTagName("cProd")[0].InnerText; objProd.Cean = xProd.GetElementsByTagName("cEAN")[0].InnerText; objProd.Xprod = xProd.GetElementsByTagName("xProd")[0].InnerText; objProd.Ncm = xProd.GetElementsByTagName("NCM")[0].InnerText; objProd.Cfop = xProd.GetElementsByTagName("CFOP")[0].InnerText; objProd.Ucom = xProd.GetElementsByTagName("uCom")[0].InnerText; objProd.Qcom = Convert.ToDecimal(xProd.GetElementsByTagName("qCom")[0].InnerText); objProd.Vuncom = Convert.ToDecimal(xProd.GetElementsByTagName("vUnCom")[0].InnerText); objProd.Vprod = Convert.ToDecimal(xProd.GetElementsByTagName("vProd")[0].InnerText); objProd.Ceantrib = Convert.ToString(xProd.GetElementsByTagName("cEANTrib")[0].InnerText); objProd.Utrib = xProd.GetElementsByTagName("uTrib")[0].InnerText; objProd.Qtrib = Convert.ToDecimal(xProd.GetElementsByTagName("qTrib")[0].InnerText); objProd.Vuntrib = Convert.ToDecimal(xProd.GetElementsByTagName("vUnTrib")[0].InnerText); xImpostos.LoadXml(xDet.GetElementsByTagName("imposto")[0].OuterXml); xIcms.LoadXml(xImpostos.GetElementsByTagName("ICMS")[0].OuterXml); objIcms = xmlBuscaDetICMS(xIcms); belIpi objIPI = xmlBuscaDetIPI(xImpostos); belIi objII = xmlBuscaDetII(xImpostos); belPis objPis = xmlBuscaDetPis(xImpostos); belCofins objCofins = xmlBuscaDetCofins(xImpostos); } } catch (Exception ex) { throw new Exception(string.Format("Problemas lendo a Tag Det, Erro.: {0}", ex.Message)); } return lobjDet; }
public List<belDet> xmlBuscaDet() { XmlDocument xDet = new XmlDocument(); XmlDocument xProd = new XmlDocument(); XmlDocument xImpostos = new XmlDocument(); XmlDocument xIcms = new XmlDocument(); XmlDocument xIcmsN = new XmlDocument(); List<belDet> lobjDet = new List<belDet>(); try { for (int i = 0; i < xDoc.GetElementsByTagName("det").Count; i++) { belDet objDet = new belDet(); belProd objProd = new belProd(); if (xDoc.GetElementsByTagName("det").Count > 0) { xDet.LoadXml(xDoc.GetElementsByTagName("det")[i].OuterXml); if (xDet.GetElementsByTagName("prod").Count > 0) { xProd.LoadXml(xDet.GetElementsByTagName("prod")[0].OuterXml); if (xProd.GetElementsByTagName("cProd").Count > 0) { objProd.Cprod = xProd.GetElementsByTagName("cProd")[0].InnerText; } if (xProd.GetElementsByTagName("cEAN").Count > 0) { objProd.Cean = xProd.GetElementsByTagName("cEAN")[0].InnerText; } if (xProd.GetElementsByTagName("xProd").Count > 0) { objProd.Xprod = xProd.GetElementsByTagName("xProd")[0].InnerText; } if (xProd.GetElementsByTagName("NCM").Count > 0) { objProd.Ncm = xProd.GetElementsByTagName("NCM")[0].InnerText; } else { objProd.Ncm = "GERAL"; } if (xProd.GetElementsByTagName("CFOP").Count > 0) { objProd.Cfop = xProd.GetElementsByTagName("CFOP")[0].InnerText; } if (xProd.GetElementsByTagName("uTrib").Count > 0) { objProd.Utrib = xProd.GetElementsByTagName("uTrib")[0].InnerText; } if (xProd.GetElementsByTagName("uCom").Count > 0) { if (objProd.Utrib != "") { objProd.Ucom = objProd.Utrib; } else { objProd.Ucom = xProd.GetElementsByTagName("uCom")[0].InnerText.ToString(); } } if (xProd.GetElementsByTagName("qCom").Count > 0) { objProd.Qcom = Convert.ToDecimal(xProd.GetElementsByTagName("qCom")[0].InnerText.ToString().Replace(".", ",")); } if (xProd.GetElementsByTagName("vUnCom").Count > 0) { objProd.Vuncom = Convert.ToDecimal(xProd.GetElementsByTagName("vUnCom")[0].InnerText.ToString().Replace(".", ",")); } if (xProd.GetElementsByTagName("vProd").Count > 0) { objProd.Vprod = Convert.ToDecimal(xProd.GetElementsByTagName("vProd")[0].InnerText.ToString().Replace(".", ",")); } if (xProd.GetElementsByTagName("vFrete").Count > 0) // os_25272 { objProd.Vfrete = Convert.ToDecimal(xProd.GetElementsByTagName("vFrete")[0].InnerText.ToString().Replace(".", ",")); } if (xProd.GetElementsByTagName("cEANTrib").Count > 0) { objProd.Ceantrib = Convert.ToString((xProd.GetElementsByTagName("cEANTrib")[0].InnerText == "" ? "0" : xProd.GetElementsByTagName("cEANTrib")[0].InnerText.ToString().Replace(".", ","))); } if (xProd.GetElementsByTagName("qTrib").Count > 0) { objProd.Qtrib = Convert.ToDecimal(xProd.GetElementsByTagName("qTrib")[0].InnerText.ToString().Replace(".", ",")); } if (xProd.GetElementsByTagName("vUnTrib").Count > 0) { objProd.Vuntrib = Convert.ToDecimal(xProd.GetElementsByTagName("vUnTrib")[0].InnerText.ToString().Replace(".", ",")); } if (xProd.GetElementsByTagName("vDesc").Count > 0) { objProd.Vdesc = Convert.ToDecimal(xProd.GetElementsByTagName("vDesc")[0].InnerText.ToString().Replace(".", ",")); } if (xDet.GetElementsByTagName("imposto").Count > 0) { xImpostos.LoadXml(xDet.GetElementsByTagName("imposto")[0].OuterXml); } if (xImpostos.GetElementsByTagName("ICMS").Count > 0) { xIcms.LoadXml(xImpostos.GetElementsByTagName("ICMS")[0].OuterXml); belIcms objIcms = new belIcms(); objIcms = xmlBuscaDetICMS(xIcms); belIpi objIPI = xmlBuscaDetIPI(xImpostos); belIi objII = xmlBuscaDetII(xImpostos); belPis objPis = xmlBuscaDetPis(xImpostos); belCofins objCofins = xmlBuscaDetCofins(xImpostos); belIss objIss = xmlBuscaDetIssqn(xImpostos); belInfadprod objInfadProd = new belInfadprod(); if (xDet.GetElementsByTagName("inAdProd").Count > 0) { objInfadProd.Infadprid = xDet.GetElementsByTagName("inAdProd")[i].InnerText; } objDet.prod = objProd; belImposto objImpostos = new belImposto(); objImpostos.belIcms = objIcms; objImpostos.belIpi = objIPI; objImpostos.belIi = objII; objImpostos.belPis = objPis; objImpostos.belCofins = objCofins; objImpostos.belIss = objIss; objDet.imposto = objImpostos; objDet.infAdProd = objInfadProd; lobjDet.Add(objDet); } } } } } catch (Exception ex) { throw new Exception(string.Format("Problemas lendo a Tag Det, Erro.: {0}", ex.Message)); } return lobjDet; }