示例#1
0
文件: FrmMain.cs 项目: Uoxitu/ACBr
        private void BtnCancelarNFe_Click(object sender, EventArgs e)
        {
            try
            {
                var idLote         = 1;
                var aJustificativa = "";
                var eChave         = "";
                var eCNPJ          = "";
                if (InputBox.Show("WebServices Eventos: Cancelamento", "Identificador de controle do Lote de envio do Evento", ref idLote) != DialogResult.OK)
                {
                    return;
                }
                if (InputBox.Show("WebServices Eventos: Cancelamento", "Chave da NF-e", ref eChave) != DialogResult.OK)
                {
                    return;
                }
                if (InputBox.Show("WebServices Eventos: Cancelamento", "CNPJ ou o CPF do autor do Evento", ref eCNPJ) != DialogResult.OK)
                {
                    return;
                }
                if (InputBox.Show("WebServices Eventos: Cancelamento", "Justificativa do Cancelamento", ref aJustificativa) != DialogResult.OK)
                {
                    return;
                }

                var bufferLen = 1024;
                var buffer    = new StringBuilder(bufferLen);

                var ret = AcbrNFe.NFE_Cancelar(eChave, aJustificativa, eCNPJ, idLote, buffer, ref bufferLen);
                AcbrNFe.CheckResult(ret);

                if (bufferLen > 1024)
                {
                    ret = AcbrNFe.NFE_UltimoRetorno(buffer, ref bufferLen);
                    AcbrNFe.CheckResult(ret);
                }

                rtbRespostas.AppendText(buffer.FromUTF8());
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, @"Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }