示例#1
0
        protected async void gvDUE_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
        {
            if (this.gvDUE.Rows.Count == 0)
            {
                return;
            }

            if (e.CommandName == "EXCLUIR")
            {
                var index = Convert.ToInt32(e.CommandArgument);

                var dueId = this.gvDUE.DataKeys[index]["Id"].ToString().ToInt();

                var due = dueDAO.ObterDUEPorId(dueId);

                if (due != null)
                {
                    dueDAO.ExcluirDUE(dueId);
                    ConsultarDUEs();
                }
            }

            if (e.CommandName == "GerarXML")
            {
                var index   = Convert.ToInt32(e.CommandArgument);
                var arquivo = new GerarXML();
                arquivo.DUEId = this.gvDUE.DataKeys[index]["Id"].ToString().ToInt();
                arquivo.Validar(ModelState);
                if (!ModelState.IsValid)
                {
                    return;
                }
                arquivo.Gerar();
            }

            if (e.CommandName == "ValidarXML")
            {
                var index = Convert.ToInt32(e.CommandArgument);

                await ValidarXMLAsync(this.gvDUE.DataKeys[index]["Id"].ToString().ToInt());
            }

            if (e.CommandName == "EnviarSiscomex")
            {
                var index   = Convert.ToInt32(e.CommandArgument);
                var arquivo = new GerarXML();
                arquivo.DUEId = this.gvDUE.DataKeys[index]["Id"].ToString().ToInt();

                arquivo.Retificar(ModelState);
            }
        }
示例#2
0
        private async System.Threading.Tasks.Task ValidarXMLAsync(int id)
        {
            var arquivo = new GerarXML();

            arquivo.DUEId = id;
            arquivo.Validar(ModelState);
            if (!ModelState.IsValid)
            {
                return;
            }
            arquivo.Gerar();
            var validarXML = new ValidarXML();

            var         xml          = dueDAO.ObterUltimoXMLGerado(arquivo.DUEId);
            XmlDocument documentoXML = new XmlDocument();

            documentoXML.LoadXml(xml);

            var retorno = await validarXML.Validar(documentoXML);

            ViewState["RetornoSucesso"] = retorno.Sucesso;

            dueDAO.AtualizarXMLRetorno(id, retorno.XmlRetorno);

            alertaValidacao.Visible = retorno.Sucesso;

            if (retorno.Mensagens.Count > 0 & retorno.XmlRetorno != null)
            {
                alertaValidacao.Visible     = true;
                ViewState["RetornoSucesso"] = null;
            }

            if (!retorno.Sucesso & retorno.XmlRetorno == null)
            {
                foreach (var erro in retorno.Mensagens)
                {
                    ModelState.AddModelError(string.Empty, erro);
                }
            }
            else if (!retorno.Sucesso & retorno.XmlRetorno != null)
            {
                //Response.Redirect("ArquivoXML.aspx?id=" + id + "&dest=SALVAR&tipo=RETORNO", false);
                StringBuilder conteudo = new StringBuilder();
                foreach (var erro in retorno.Mensagens)
                {
                    conteudo.AppendLine(erro);
                }

                SalvarTXT(arquivo.DUE.DUE, conteudo);
            }
        }