public static cfdi33.Comprobante TranslateToCFDI(BindingModels.Comprobante from) { bool MetodoPagoSpecified = false; bool formaPagoSpecified = false; var cfdi33 = new cfdi33.Comprobante() { // TODO: revisar si se aplican descuento, Emisor = new Invoicing.cfdi33.ComprobanteEmisor() { Rfc = from.Emisor.RFC, RegimenFiscal = TranslateModelsToCatalogosCFDI.TranslateRegimenFiscal(from.Emisor.RegimenFiscal), Nombre = from.Emisor.Nombre }, Receptor = new Invoicing.cfdi33.ComprobanteReceptor() { Rfc = from.Receptor.RFC, Nombre = from.Receptor.Nombre, UsoCFDI = TranslateModelsToCatalogosCFDI.TranslateUsoCFDI(from.UsoCFDI), ResidenciaFiscalSpecified = false // TODO : Revisar si se implementa la resencia fiscal y el No. de registro tributario para extranjeros }, Complemento = new Invoicing.cfdi33.ComprobanteComplemento() { Items = new object[] { TranslateModelsValesDeDespensa.TranslateTo(from.ValesDespensa), TranslatesModelsToPagos.TranslateTo((from).Pagos) } }, Impuestos = TranslateModelsToTotalImpuestos.TranslateCuadroImpuesto(from.Conceptos), Conceptos = TranslateModelConceptosToCFDI.TranslateConceptos(from.Conceptos).ToArray(), LugarExpedicion = from.LugarExpedicion, // TranslateModelsToCatalogosCFDI.TranslateCodigoPostal(from.LugarExpedicion), TipoDeComprobante = TranslateModelsToCatalogosCFDI.TranslateTipoComprobante(from.TipoComprobante), FormaPago = TranslateModelsToCatalogosCFDI.TranslateFormaPago(from.FormaPago, ref formaPagoSpecified), FormaPagoSpecified = formaPagoSpecified, Certificado = from.Certificado, NoCertificado = from.noCertificado, CondicionesDePago = from.CondicionesDePago, CondicionesDePagoSpecified = !String.IsNullOrEmpty(from.CondicionesDePago), Serie = from.Serie, Folio = from.Folio, Moneda = TranslateModelsToCatalogosCFDI.TranslateMoneda(from.Moneda), MetodoPago = TranslateModelsToCatalogosCFDI.TranslateMetodoPago(from.MetodoPago, ref MetodoPagoSpecified), MetodoPagoSpecified = MetodoPagoSpecified, Version = "3.3", SubTotal = from.SubTotal, Total = from.Total, Fecha = TranslateModelsToCatalogosCFDI.TranslateFecha(from.Fecha), }; return(cfdi33); }
public static cfdi33.PagosPagoDoctoRelacionado TranslateToDoctosRelacionados(BindingModels.DoctosRelacionados from) { bool MetodoPagoSpecified = false; var to = new cfdi33.PagosPagoDoctoRelacionado() { Folio = from.Folio.ToString(), Serie = from.Serie, IdDocumento = from.idDocumento.ToString(), MonedaDR = TranslateModelsToCatalogosCFDI.TranslateMoneda(from.MonedaDR), NumParcialidad = from.NumParcialidad.ToString(), TipoCambioDR = from.TipoCambioDR, TipoCambioDRSpecified = (from.TipoCambioDR > 0), MetodoDePagoDR = TranslateModelsToCatalogosCFDI.TranslateMetodoPago(from.MetodoDePagoDR, ref MetodoPagoSpecified), ImpPagado = from.ImpPagado, ImpPagadoSpecified = (from.ImpPagado > 0), ImpSaldoAnt = from.ImpSaldoAnt, ImpSaldoAntSpecified = (from.ImpSaldoAnt > 0), ImpSaldoInsoluto = from.ImpSaldoInsoluto, ImpSaldoInsolutoSpecified = (from.ImpSaldoInsoluto > 0) }; return(to); }