FindEmpresaByThread() public static method

Retorna a empresa pela thread atual
public static FindEmpresaByThread ( ) : int
return int
示例#1
0
        /// <summary>
        /// Move arquivos com a extensão informada e que está com erro para uma pasta de xml´s/arquivos com erro configurados no UniNFe.
        /// </summary>
        /// <param name="cArquivo">Nome do arquivo a ser movido para a pasta de XML´s com erro</param>
        /// <param name="ExtensaoArq">Extensão do arquivo que vai ser movido. Ex: .xml</param>
        /// <example>this.MoveArqErro(this.vXmlNfeDadosMsg, ".xml")</example>
        public void MoveArqErro(string Arquivo, string ExtensaoArq)
        {
            int emp = Empresas.FindEmpresaByThread();

            if (File.Exists(Arquivo))
            {
                FileInfo oArquivo = new FileInfo(Arquivo);

                if (!string.IsNullOrEmpty(Empresas.Configuracoes[emp].PastaXmlErro) && Directory.Exists(Empresas.Configuracoes[emp].PastaXmlErro))
                {
                    string vNomeArquivo = Empresas.Configuracoes[emp].PastaXmlErro + "\\" + Functions.ExtrairNomeArq(Arquivo, ExtensaoArq) + ExtensaoArq;

                    Functions.Move(Arquivo, vNomeArquivo);

                    Auxiliar.WriteLog("O arquivo " + Arquivo + " foi movido para " + vNomeArquivo, true);

                    /*
                     * //Deletar o arquivo da pasta de XML com erro se o mesmo existir lá para evitar erros na hora de mover. Wandrey
                     * if (File.Exists(vNomeArquivo))
                     *  this.DeletarArquivo(vNomeArquivo);
                     *
                     * //Mover o arquivo da nota fiscal para a pasta do XML com erro
                     * oArquivo.MoveTo(vNomeArquivo);
                     */
                }
                else
                {
                    //Antes estava deletando o arquivo, agora vou retornar uma mensagem de erro
                    //pois não podemos excluir, pode ser coisa importante. Wandrey 25/02/2011
                    throw new Exception("A pasta de XML´s com erro informada nas configurações não existe, por favor verifique.");
                    //oArquivo.Delete();
                }
            }
        }
示例#2
0
        /// <summary>
        /// grava um arquivo de erro ao ERP
        /// </summary>
        /// <param name="Arquivo"></param>
        /// <param name="Erro"></param>
        public void GravarArqErroERP(string Arquivo, string Erro)
        {
            if (!string.IsNullOrEmpty(Arquivo) && !string.IsNullOrEmpty(Erro))
            {
                try
                {
                    ///
                    /// grava o erro na pasta de retorno geral do UniNFe caso a pasta de retorno da empresa nao exista
                    ///
                    string fFolder = Propriedade.PastaGeralRetorno;

                    int emp = Empresas.FindEmpresaByThread();
                    if (emp >= 0)
                    {
                        if (!string.IsNullOrEmpty(Empresas.Configuracoes[emp].PastaXmlRetorno))
                        {
                            fFolder = Empresas.Configuracoes[emp].PastaXmlRetorno;
                        }
                    }

                    if (Directory.Exists(fFolder))
                    {
                        //Grava arquivo de ERRO para o ERP
                        string cArqErro = Path.Combine(fFolder, Path.GetFileName(Arquivo));
                        File.WriteAllText(cArqErro, Erro);//, Encoding.Default);
                    }
                }
                catch (Exception ex)
                {
                    WriteLog(ex.Message, true);
                }
            }
        }
示例#3
0
        /// <summary>
        /// Verifica se o XML da nota fiscal já está na pasta de Notas Denegadas
        /// </summary>
        /// <param name="Arquivo">Arquivo XML a ser verificado</param>
        /// <param name="Emissao">Data de emissão da NFe</param>
        /// <returns>Se está na pasta de XML´s denegados</returns>
        public bool EstaDenegada(string Arquivo, DateTime Emissao)
        {
            int    emp = Empresas.FindEmpresaByThread();
            string strNomePastaEnviado = Empresas.Configuracoes[emp].PastaXmlEnviado + "\\" +
                                         PastaEnviados.Denegados.ToString() + "\\" +
                                         Empresas.Configuracoes[emp].DiretorioSalvarComo.ToString(Emissao);

            return(File.Exists(strNomePastaEnviado + "\\" + Functions.ExtrairNomeArq(Arquivo, Propriedade.ExtEnvio.Nfe) + Propriedade.ExtRetorno.Den));
        }
示例#4
0
        /// <summary>
        /// Verifica se o XML da nota fiscal já está na pasta de Notas Denegadas
        /// </summary>
        /// <param name="Arquivo">Arquivo XML a ser verificado</param>
        /// <param name="Emissao">Data de emissão da NFe</param>
        /// <returns>Se está na pasta de XML´s denegados</returns>
        public bool EstaDenegada(string Arquivo, DateTime Emissao, string extNFe, string extArqProtNfe)
        {
            int    emp = Empresas.FindEmpresaByThread();
            string strNomePastaEnviado = Empresas.Configuracoes[emp].PastaXmlEnviado + "\\" +
                                         PastaEnviados.Denegados.ToString() + "\\" +
                                         Empresas.Configuracoes[emp].DiretorioSalvarComo.ToString(Emissao);

            return(File.Exists(strNomePastaEnviado + Functions.ExtrairNomeArq(Arquivo, extNFe) + extArqProtNfe));
        }
示例#5
0
        public static void WriteLog(string msg, bool gravarStackTrace)
        {
#if DEBUG
            System.Diagnostics.Debug.WriteLine(msg);
#endif
            if (ConfiguracaoApp.GravarLogOperacoesRealizadas)
            {
                int emp = -1;
                if (Empresas.Configuracoes.Count != 0) //Tive que comparar aqui se tem empresas, pois quando não tem nenhuma empresa e tento consultar os certificados pela pasta geral, retorna um erro. Wandrey 02/02/2015
                {
                    try
                    {
                        emp = Empresas.FindEmpresaByThread();
                    }
                    catch { }
                }

                NFe.Components.Functions.WriteLog(msg, gravarStackTrace, true, emp >= 0 ? Empresas.Configuracoes[emp].CNPJ + "_" + Empresas.Configuracoes[emp].Servico.ToString() : "");
            }
        }
示例#6
0
 /// <summary>
 /// grava um arquivo de erro ao ERP
 /// </summary>
 /// <param name="Arquivo"></param>
 /// <param name="Erro"></param>
 public void GravarArqErroERP(string Arquivo, string Erro)
 {
     if (!string.IsNullOrEmpty(Arquivo))
     {
         try
         {
             int emp = Empresas.FindEmpresaByThread();
             if (!string.IsNullOrEmpty(Empresas.Configuracoes[emp].PastaXmlRetorno))
             {
                 //Grava arquivo de ERRO para o ERP
                 string cArqErro = Empresas.Configuracoes[emp].PastaXmlRetorno + "\\" + Path.GetFileName(Arquivo);
                 File.WriteAllText(cArqErro, Erro, Encoding.Default);
             }
         }
         catch (Exception ex)
         {
             WriteLog(ex.Message, true);
         }
     }
 }