public En_Emisor ObtenerEmisor(string numeroDocumentoIdentidad, ref string mensajeRetorno) { SqlConnection cn = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand("dbo.usp_ObtenerEmisor", cn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.Add(new SqlParameter { ParameterName = "@numeroDocumentoIdentidad", SqlDbType = SqlDbType.VarChar, Size = 20, Value = numeroDocumentoIdentidad }); try { En_Emisor emisor = null; cn.Open(); SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); if (dr.Read()) { emisor = new En_Emisor { CodigoDomicilioFiscal = (dr.IsDBNull(dr.GetOrdinal("CodigoDomicilioFiscal"))) ? "" : dr.GetString(dr.GetOrdinal("CodigoDomicilioFiscal")), CodigoPais = (dr.IsDBNull(dr.GetOrdinal("CodigoPais"))) ? "" : dr.GetString(dr.GetOrdinal("CodigoPais")), CodigoUbigeo = (dr.IsDBNull(dr.GetOrdinal("CodigoUbigeo"))) ? "" : dr.GetString(dr.GetOrdinal("CodigoUbigeo")), Contacto = new En_Contacto { Correo = (dr.IsDBNull(dr.GetOrdinal("ContactoCorreo"))) ? "" : dr.GetString(dr.GetOrdinal("ContactoCorreo")), Nombre = (dr.IsDBNull(dr.GetOrdinal("ContactoNombre"))) ? "" : dr.GetString(dr.GetOrdinal("ContactoNombre")), Telefono = (dr.IsDBNull(dr.GetOrdinal("ContactoTelefono"))) ? "" : dr.GetString(dr.GetOrdinal("ContactoTelefono")) }, Departamento = (dr.IsDBNull(dr.GetOrdinal("Departamento"))) ? "" : dr.GetString(dr.GetOrdinal("Departamento")), Direccion = (dr.IsDBNull(dr.GetOrdinal("Direccion"))) ? "" : dr.GetString(dr.GetOrdinal("Direccion")), Distrito = (dr.IsDBNull(dr.GetOrdinal("Distrito"))) ? "" : dr.GetString(dr.GetOrdinal("Distrito")), NombreComercial = (dr.IsDBNull(dr.GetOrdinal("NombreComercial"))) ? "" : dr.GetString(dr.GetOrdinal("NombreComercial")), NumeroDocumentoIdentidad = (dr.IsDBNull(dr.GetOrdinal("NumeroDocumentoIdentidad"))) ? "" : dr.GetString(dr.GetOrdinal("NumeroDocumentoIdentidad")), PaginaWeb = (dr.IsDBNull(dr.GetOrdinal("PaginaWeb"))) ? "" : dr.GetString(dr.GetOrdinal("PaginaWeb")), Provincia = (dr.IsDBNull(dr.GetOrdinal("Provincia"))) ? "" : dr.GetString(dr.GetOrdinal("Provincia")), RazonSocial = (dr.IsDBNull(dr.GetOrdinal("RazonSocial"))) ? "" : dr.GetString(dr.GetOrdinal("RazonSocial")), TipoDocumentoIdentidad = (dr.IsDBNull(dr.GetOrdinal("TipoDocumentoIdentidad"))) ? "" : dr.GetString(dr.GetOrdinal("TipoDocumentoIdentidad")) //Urbanizacion = (dr.IsDBNull(dr.GetOrdinal("Urbanizacion"))) ? "" : dr.GetString(dr.GetOrdinal("Urbanizacion")), }; } cn.Close(); return(emisor); } catch (SqlException ex) { if (cn.State == ConnectionState.Open) { cn.Close(); } mensajeRetorno = ex.Message.ToString(); return(null); } catch (Exception ex) { if (cn.State == ConnectionState.Open) { cn.Close(); } mensajeRetorno = "Ocurrió un error al registrar el comprobante, revisar el log."; log.Error(mensajeRetorno, ex); return(null); } }
void LlenarEmisor(En_Emisor Emisor, ref DebitNoteType debitNote) { WebsiteURIType EmisorPaginaWeb = new WebsiteURIType { Value = Emisor.PaginaWeb.Trim() }; List <PartyNameType> oListaNombreComercial = new List <PartyNameType>(); PartyNameType PartyName = new PartyNameType { Name = new NameType1 { Value = Emisor.NombreComercial.Trim() } }; oListaNombreComercial.Add(PartyName); PartyIdentificationType EmisorIdentificacion = new PartyIdentificationType(); List <PartyIdentificationType> EmisorListaIdentificacion = new List <PartyIdentificationType>(); EmisorIdentificacion.ID = new IDType { Value = Emisor.NumeroDocumentoIdentidad.Trim(), schemeAgencyID = "PE:SUNAT", schemeID = Emisor.TipoDocumentoIdentidad.Trim(), schemeName = "Documento de Identidad", schemeURI = "urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo06" }; EmisorListaIdentificacion.Add(EmisorIdentificacion); //Razon social PartyLegalEntityType oRazonSocial = new PartyLegalEntityType { RegistrationName = new RegistrationNameType { Value = Emisor.RazonSocial, }, RegistrationAddress = new AddressType { ID = new IDType { Value = Emisor.CodigoUbigeo.Trim(), schemeAgencyName = "PE:INEI", schemeName = "Ubigeos" }, AddressTypeCode = new AddressTypeCodeType { Value = Emisor.CodigoDomicilioFiscal.Trim(), listAgencyName = "PE:SUNAT", listName = "Establecimientos anexos" }, CitySubdivisionName = new CitySubdivisionNameType { Value = Emisor.Urbanizacion.Trim() }, CityName = new CityNameType { Value = Emisor.Provincia.Trim() }, CountrySubentity = new CountrySubentityType { Value = Emisor.Departamento.Trim() }, District = new DistrictType { Value = Emisor.Distrito.Trim() }, AddressLine = new AddressLineType[] { new AddressLineType { Line = new LineType { Value = Emisor.Direccion.Trim() } } }, Country = new CountryType { IdentificationCode = new IdentificationCodeType { listAgencyName = "United Nations Economic Commission for Europe", listID = "ISO 3166-1", listName = "Country", Value = Emisor.CodigoPais.Trim() } } } }; ContactType oContacto = new ContactType { ElectronicMail = new ElectronicMailType() { Value = Emisor.Contacto.Correo.Trim() }, Name = new NameType1 { Value = Emisor.Contacto.Nombre.Trim() }, Telephone = new TelephoneType { Value = Emisor.Contacto.Telefono.Trim() } }; SupplierPartyType oEmisor = new SupplierPartyType { Party = new PartyType { WebsiteURI = EmisorPaginaWeb, PartyIdentification = EmisorListaIdentificacion.ToArray(), PartyName = oListaNombreComercial.ToArray(), PartyLegalEntity = new PartyLegalEntityType[] { oRazonSocial }, Contact = oContacto } }; debitNote.AccountingSupplierParty = oEmisor; }