예제 #1
0
        /// <summary>
        ///     Gera um caminho para salvar o arquivo desejado
        /// </summary>
        private string ObterCaminho(string caminho, DateTime?data = null, string modeloDescricao = "", string diretorioBackup = "")
        {
            // Diretório - NFe/
            var pathDefault = $@"{AppDomain.CurrentDomain.BaseDirectory}\NFe";

            string diretorio;

            if (diretorioBackup.IsNotNullOrEmpty())
            {
                diretorio = diretorioBackup;
            }
            else if (Diretorio.IsNotNullOrEmpty())
            {
                diretorio = Diretorio;
            }
            else
            {
                diretorio = pathDefault;
            }

            // NFe/00000000000000
            var cnpj = Parent.CNPJ;

            if (cnpj.IsNotNullOrEmpty())
            {
                diretorio = Path.Combine(diretorio, cnpj);
            }

            // NFe/00000000000000/Enviado
            if (caminho.IsNotNullOrEmpty())
            {
                diretorio = Path.Combine(diretorio, caminho);
            }

            // NFe/00000000000000/Enviado/NFCe
            if (modeloDescricao.IsNotNullOrEmpty())
            {
                diretorio = Path.Combine(diretorio, modeloDescricao);
            }

            // NFe/00000000000000/Enviado/NFce/202009
            if (data.HasValue)
            {
                diretorio = Path.Combine(diretorio, data.Value.ToString("yyyyMM"));
            }

            if (!Directory.Exists(diretorio))
            {
                Directory.CreateDirectory(diretorio);
            }

            return(diretorio);
        }