Пример #1
0
        /// <summary>
        ///  Obtiene la Informacion del Emisor para el Documento
        /// </summary>
        /// <typeparam name="TSunat">Documento SUNAT</typeparam>
        /// <param name="entidad">Entidad Doc</param>
        /// <returns>UBL SupplierPartyType</returns>
        public static SupplierPartyType GetInfoEmisor <TSunat>(SunatDocumentBase <TSunat> entidad)
            where TSunat : new()
        {
            var account = new SupplierPartyType
            {
                CustomerAssignedAccountID = entidad.RucEmisor,
                AdditionalAccountID       =
                    new IdentifierType[] { ((int)entidad.TipoDocumentoIdentidadEmisor).ToString() },
                Party = new PartyType
                {
                    PartyName        = new PartyNameType[] { entidad.NombreComercialEmisor },
                    PartyLegalEntity = new[]
                    {
                        new PartyLegalEntityType
                        {
                            RegistrationName = entidad.NombreRazonSocialEmisor,
                        }
                    },
                }
            };

            return(account);
        }
Пример #2
0
        /// <summary>
        ///  Obtiene el Signature para el Documento
        /// </summary>
        /// <typeparam name="TSunat">Documento SUNAT</typeparam>
        /// <param name="entidad">Entidad Doc</param>
        /// <returns>UBL Signature</returns>
        public static SignatureType[] GetSignature <TSunat>(SunatDocumentBase <TSunat> entidad)
            where TSunat : new()
        {
            var sign = new[]
            {
                new SignatureType
                {
                    ID             = "IDSignSP",
                    SignatoryParty = new PartyType
                    {
                        PartyIdentification = new[]
                        {
                            new PartyIdentificationType
                            {
                                ID = entidad.RucEmisor
                            }
                        },
                        PartyName = new[]
                        {
                            new PartyNameType
                            {
                                Name = entidad.NombreRazonSocialEmisor
                            }
                        }
                    },
                    DigitalSignatureAttachment = new AttachmentType
                    {
                        ExternalReference = new ExternalReferenceType
                        {
                            URI = "#SignatureSP"
                        }
                    }
                }
            };

            return(sign);
        }