Example #1
0
        private async void CrearXmlResumen2()
        {
            try
            {
                vFechaXml  = "RC-" + Convert.ToString(DtpFechaEnvioDoc.Value.Year);
                vFechaXml += ModFunc.Derecha("0" + Convert.ToString(DtpFechaEnvioDoc.Value.Month), 2);
                vFechaXml += ModFunc.Derecha("0" + Convert.ToString(DtpFechaEnvioDoc.Value.Day), 2);
                vFechaXml += "-00" + Convert.ToString(DtDocumentos.Rows[0]["item"]);

                ResumenDiarioNuevo ResumenDiario = new ResumenDiarioNuevo
                {
                    IdDocumento     = vFechaXml,
                    FechaEmision    = Convert.ToString(DtpFechaEnvioDoc.Text),
                    FechaReferencia = Convert.ToString(DtpFechaDoc.Text),
                    Emisor          = CrearEmisor(DtEmpresa),

                    Resumenes = new List <GrupoResumenNuevo>()
                };

                for (int ii = 0; ii <= DtDocumentos.Rows.Count - 1; ii++)
                {
                    decimal vDscto         = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteDsctoGlobal"]);
                    string  vNroDocumento  = Convert.ToString(DtDocumentos.Rows[ii]["clienteID"]);
                    string  vTipoIdentidad = Convert.ToString(DtDocumentos.Rows[ii]["IdentidadID"]);
                    string  vNombreLegal   = Convert.ToString(DtDocumentos.Rows[ii]["ClienterazonSocial"]);

                    GrupoResumenNuevo DocumentoResumenItem = new GrupoResumenNuevo();
                    string            vIdDocumento         = DocumentoResumenItem.Serie = Convert.ToString(DtDocumentos.Rows[ii]["SerieDocumento"]) + "-";
                    vIdDocumento += DtDocumentos.Rows[ii]["NumeroDocumento"];

                    DocumentoResumenItem.Id                    = ii + 1;
                    DocumentoResumenItem.TipoDocumento         = Convert.ToString(DtDocumentos.Rows[ii]["DocumentoID"]);
                    DocumentoResumenItem.IdDocumento           = vIdDocumento;
                    DocumentoResumenItem.NroDocumentoReceptor  = vNroDocumento;
                    DocumentoResumenItem.TipoDocumentoReceptor = vTipoIdentidad;
                    DocumentoResumenItem.CodigoEstadoItem      = 1;

                    string vNroModifica = Convert.ToString(DtDocumentos.Rows[ii]["SeriedocumentoModifica"]) + "-" + Convert.ToString(DtDocumentos.Rows[ii]["NumeroDocumentoModifica"]);
                    if (DocumentoResumenItem.TipoDocumento == "07" || DocumentoResumenItem.TipoDocumento == "08")
                    {
                        DocumentoResumenItem.TipoDocumentoRelacionado = Convert.ToString(DtDocumentos.Rows[ii]["TipoDocumentoModifica"]);
                        DocumentoResumenItem.DocumentoRelacionado     = vNroModifica;
                    }

                    DocumentoResumenItem.Moneda = "PEN";

                    DocumentoResumenItem.Gravadas            = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteGravado"]);
                    DocumentoResumenItem.Inafectas           = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteinafecto"]);
                    DocumentoResumenItem.Exoneradas          = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteexonerado"]);
                    DocumentoResumenItem.Gratuitas           = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteGratuitas"]);
                    DocumentoResumenItem.TotalIsc            = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteisc"]);
                    DocumentoResumenItem.TotalIgv            = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteIgv"]);
                    DocumentoResumenItem.TotalDescuentos     = vDscto;
                    DocumentoResumenItem.TotalVenta          = Convert.ToDecimal(DtDocumentos.Rows[ii]["TotalImporteventa"]);
                    DocumentoResumenItem.TotalOtrosImpuestos = 0;
                    DocumentoResumenItem.CodigoEstadoItem    = 1;
                    DocumentoResumenItem.Exportacion         = 0;

                    ResumenDiario.Resumenes.Add(DocumentoResumenItem);
                }
                string _metodoApi = "api/GenerarResumenDiario/v2";
                var    response   = await _client.PostAsJsonAsync(_metodoApi, ResumenDiario);

                var respuesta = await response.Content.ReadAsAsync <DocumentoResponse>();

                if (!respuesta.Exito)
                {
                    throw new ApplicationException(respuesta.MensajeError);
                }

                vRutaArchivoXML = vFechaXml;
                vRutaArchivoXML = Path.Combine(vRutaXml, $"{vRutaArchivoXML}.xml");

                File.WriteAllBytes(vRutaArchivoXML, Convert.FromBase64String(respuesta.TramaXmlSinFirma));
                ModFunc.ActualizaItemDia(Ctr_AyuEmpresas.Codigo, DtpFechaDoc.Text, VGCnxSqlE);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }