private void ConfigurarAbas(Empresa empresa, bool novaempresa) { switch (empresa.Servico) { case TipoAplicativo.Nfse: uce_divs.Populate(empresa, novaempresa); uce_pastas.Populate(empresa); uce_ftp.Populate(empresa); uce_cert.Populate(empresa); _tpEmpresa_danfe.Parent = null; _tpEmpresa_sat.Parent = null; break; case TipoAplicativo.SAT: uce_divs.Populate(empresa, novaempresa); uce_pastas.Populate(empresa); uce_ftp.Populate(empresa); uce_danfe.Populate(empresa); _tpEmpresa_sat.Parent = tc_empresa; uce_sat.Populate(empresa); _tpEmpresa_cert.Parent = null; break; case TipoAplicativo.EFDReinf: case TipoAplicativo.eSocial: case TipoAplicativo.EFDReinfeSocial: uce_divs.Populate(empresa, novaempresa); uce_pastas.Populate(empresa); uce_cert.Populate(empresa); _tpEmpresa_cert.Parent = tc_empresa; _tpEmpresa_ftp.Parent = null; _tpEmpresa_sat.Parent = null; _tpEmpresa_danfe.Parent = null; break; default: uce_divs.Populate(empresa, novaempresa); uce_pastas.Populate(empresa); uce_ftp.Populate(empresa); uce_cert.Populate(empresa); uce_danfe.Populate(empresa); _tpEmpresa_cert.Parent = tc_empresa; _tpEmpresa_danfe.Parent = tc_empresa; _tpEmpresa_ftp.Parent = tc_empresa; _tpEmpresa_sat.Parent = null; break; } }
void CopiaDadosDaEmpresaParaControls(Empresa oempresa, bool empty) { bool _modificado = false; bool _nova = string.IsNullOrEmpty(oempresa.PastaXmlEnvio); stopChangedEvent = true; try { servicoCurrent = oempresa.Servico; oempresa.CriaPastasAutomaticamente = false; if (string.IsNullOrEmpty(oempresa.PastaXmlEnvio) && !empty) { oempresa.CriaPastasAutomaticamente = true; _modificado = true; /// /// tenta definir as pastas na mesma arvore do CNPJ /// foreach (Empresa rr in (from x in Empresas.Configuracoes where x.CNPJ.Equals(oempresa.CNPJ) select x)) { string temp = CopiaPastaDeEmpresa(rr.CNPJ, rr.PastaXmlEnvio, oempresa); if (!Directory.Exists(temp)) { CopiaPastaDeEmpresa(rr, oempresa); break; } } if (string.IsNullOrEmpty(oempresa.PastaXmlEnvio)) { /// /// acha uma configuracao valida /// foreach (Empresa rr in (from x in Empresas.Configuracoes where !x.CNPJ.Equals(oempresa.CNPJ) select x)) { string temp = CopiaPastaDeEmpresa(rr.CNPJ, rr.PastaXmlEnvio, oempresa); if (!Directory.Exists(temp)) { CopiaPastaDeEmpresa(rr, oempresa); break; } } } if (string.IsNullOrEmpty(oempresa.PastaXmlEnvio)) { /// /// se mesmo assim não encontrou nenhuma configuracao valida, assume a pasta do UniNFe /// string subpasta = oempresa.CNPJ; switch (oempresa.Servico) { case TipoAplicativo.Todos: case TipoAplicativo.Nfe: break; default: subpasta += "\\" + oempresa.Servico.ToString().ToLower(); break; } oempresa.PastaXmlEnvio = Path.Combine(Propriedade.PastaExecutavel, subpasta + "\\Envio"); oempresa.PastaXmlRetorno = Path.Combine(Propriedade.PastaExecutavel, subpasta + "\\Retorno"); oempresa.PastaXmlErro = Path.Combine(Propriedade.PastaExecutavel, subpasta + "\\Erro"); oempresa.PastaValidar = Path.Combine(Propriedade.PastaExecutavel, subpasta + "\\Validar"); if (oempresa.Servico != TipoAplicativo.Nfse) { oempresa.PastaXmlEnviado = Path.Combine(Propriedade.PastaExecutavel, subpasta + "\\Enviado"); oempresa.PastaXmlEmLote = Path.Combine(Propriedade.PastaExecutavel, subpasta + "\\EnvioEmLote"); oempresa.PastaDownloadNFeDest = Path.Combine(Propriedade.PastaExecutavel, subpasta + "\\DownloadNFe"); } } } uce_divs.Populate(oempresa, _nova); uce_pastas.Populate(oempresa); uce_ftp.Populate(oempresa); uce_cert.Populate(oempresa); if (oempresa.Servico != TipoAplicativo.Nfse) { _tpEmpresa_danfe.Parent = tc_empresa; uce_danfe.Populate(oempresa); } else { if (_tpEmpresa_danfe != null) { _tpEmpresa_danfe.Parent = null; } } } finally { tc_empresa.Enabled = !empty; stopChangedEvent = false; Modificado = _modificado; } }