//importar arquivos
        protected void btnImportar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.txtUpload.PostedFile == null)
                {
                    ModelState.AddModelError(string.Empty, "Nenhum arquivo informado");
                }

                if (this.txtUpload.PostedFile.ContentLength == 0)
                {
                    ModelState.AddModelError(string.Empty, "Arquivo inválido");
                }

                if (this.txtNCM_Default.Text != string.Empty)
                {
                    if (this.txtNCM_Default.Text.Replace(".", "").Length != 8)
                    {
                        ModelState.AddModelError(string.Empty, "NCM inválido. Informe um NCM de 8 dígitos");
                    }
                }


                //if (!this.txtUpload.PostedFile.FileName.ToUpper().EndsWith("TXT") && !this.txtUpload.PostedFile.FileName.ToUpper().EndsWith("CSV"))
                //ModelState.AddModelError(string.Empty, "É permitido apenas importação de arquivos .txt");

                if (_notaFiscalDAO.ExisteNotaFiscalPorNomeArquivo(this.txtUpload.PostedFile.FileName))
                {
                    ModelState.AddModelError(string.Empty, string.Format("O arquivo {0} já foi importado.", this.txtUpload.PostedFile.FileName));
                }

                if (this.chkCriarItensDUE.Checked)
                {
                    if (this.cbCondicaoVenda_Default.SelectedValue == string.Empty)
                    {
                        ModelState.AddModelError(string.Empty, "Selecione a Condição de Venda");
                        this.chkCriarItensDUE.Checked = false;
                    }
                }

                if (!ModelState.IsValid)
                {
                    return;
                }

                if (!UploadArquivo(this.txtUpload))
                {
                    throw new Exception("O arquivo não pode ser processado. Certifique-se que já não esteja aberto em outro programa");
                }

                int quantidadeImportada = 0;

                var notasFiscais = ProcessarArquivo(this.txtUpload.PostedFile.InputStream, ";");

                ExcluirNotasReferenciadas(notasFiscais);

                foreach (var nf in notasFiscais)
                {
                    nf.Arquivo = this.txtUpload.FileName;
                    nf.Usuario = Convert.ToInt32(Session["UsuarioId"].ToString());
                    nf.VMLE    = this.txtValorUnitVMLE_Default.Text.ToDecimal();
                    nf.VMCV    = this.txtValorUnitVMCV_Default.Text.ToDecimal();

                    var existeNf = _notaFiscalDAO.ExisteNotaFiscal(nf);

                    if (existeNf > 0)
                    {
                        _notaFiscalDAO.ExcluirNotaFiscal(existeNf);
                    }

                    nf.Id = _notaFiscalDAO.Cadastrar(nf);

                    quantidadeImportada++;
                }

                int dueId = 0;

                if (this.chkCriarItensDUE.Checked)
                {
                    dueId = CriarItensDUEAutomaticamente(notasFiscais);
                    _documentoUnicoExportacaoDAO.MarcarComoAutomatica(dueId);
                    ViewState["DueId"]        = dueId;
                    this.pnlDueCriada.Visible = true;
                }

                ValidarNotasSiscomex(quantidadeImportada, notasFiscais);

                ViewState["Sucesso"]             = true;
                ViewState["TotalNotasFiscais"]   = notasFiscais.Count;
                ViewState["QuantidadeImportada"] = quantidadeImportada;
            }
            catch (Exception ex)
            {
                DeletarArquivo(this.txtUpload);
                LogsService.Logar("CadastrarDUE.aspx", ex.ToString());
                ModelState.AddModelError(string.Empty, ex.Message);
            }
        }