public OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha> Servidor_PrepararData()
        {
            var result = new OOB.ResultadoEntidad <OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha>();

            var r01 = MyData.Servidor_RecogerDataEnviar();

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                result.Mensaje = r01.Mensaje;
                result.Result  = OOB.Enumerados.EnumResult.isError;
                return(result);
            }

            var rt = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha();;

            if (r01.Entidad != null)
            {
                if (r01.Entidad.Series != null)
                {
                    if (r01.Entidad.Series.Count > 0)
                    {
                        var ls = new List <OOB.LibVenta.PosOffline.Servidor.PrepararData.Serie>();
                        foreach (var rs in r01.Entidad.Series)
                        {
                            var nr = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Serie()
                            {
                                Auto        = rs.Auto,
                                Control     = rs.Control,
                                Correlativo = rs.Correlativo,
                                SerieNombre = rs.SerieNombre,
                            };
                            ls.Add(nr);
                        }
                        rt.Series = ls;
                    }
                }

                if (r01.Entidad.Jornadas != null)
                {
                    if (r01.Entidad.Jornadas.Count > 0)
                    {
                        var listJor = r01.Entidad.Jornadas.Select(s =>
                        {
                            var jor = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Jornada()
                            {
                                Id     = s.Id,
                                Cierre = new OOB.LibVenta.PosOffline.Servidor.PrepararData.MovimientoCierre()
                                {
                                    autoUsuario   = s.Cierre.autoUsuario,
                                    codigoUsuario = s.Cierre.codigoUsuario,
                                    usuario       = s.Cierre.usuario,
                                    fecha         = s.Cierre.fecha,
                                    hora          = s.Cierre.hora,
                                    prefijo       = s.Cierre.prefijo,
                                    diferencia    = s.Cierre.diferencia,
                                    efectivo      = s.Cierre.efectivo,
                                    divisa        = s.Cierre.divisa,
                                    tarjeta       = s.Cierre.tarjeta,
                                    otros         = s.Cierre.otros,
                                    devolucion    = s.Cierre.devolucion,
                                    subTotal      = s.Cierre.subTotal,
                                    total         = s.Cierre.total,
                                    mEfectivo     = s.Cierre.mEfectivo,
                                    mDivisa       = s.Cierre.mDivisa,
                                    mTarjeta      = s.Cierre.mTarjeta,
                                    mOtro         = s.Cierre.otros,
                                    mSubTotal     = s.Cierre.mSubTotal,
                                    mTotal        = s.Cierre.mTotal,
                                    firma         = s.Cierre.firma,
                                    mFirma        = s.Cierre.mFirma,
                                    //
                                    cntDivisa    = s.Cierre.cntDivisa,
                                    cntDivisaUsu = s.Cierre.cntDivisaUsu,
                                    cntDoc       = s.Cierre.cntDoc,
                                    cntDocFac    = s.Cierre.cntDocFac,
                                    cntDocNcr    = s.Cierre.cntDocNcr,
                                    montoFac     = s.Cierre.montoFac,
                                    montoNcr     = s.Cierre.montoNcr,
                                },
                                Documentos = s.Documentos.Select(d =>
                                {
                                    var doc = new OOB.LibVenta.PosOffline.Servidor.PrepararData.Documento()
                                    {
                                        AnoRelacion      = d.AnoRelacion,
                                        Aplica           = d.Aplica,
                                        Base1            = d.Base1,
                                        Base2            = d.Base2,
                                        Base3            = d.Base3,
                                        CambioDar        = d.CambioDar,
                                        CargoMonto_1     = d.CargoMonto_1,
                                        CargoPorc_1      = d.CargoPorc_1,
                                        CiRif            = d.CiRif,
                                        ClienteDirFiscal = d.ClienteDirFiscal,
                                        ClienteId        = d.ClienteId,
                                        ClienteNombre    = d.ClienteNombre,
                                        ClienteTelefono  = d.ClienteTelefono,
                                        CobradorAuto     = d.CobradorAuto,
                                        CobradorCodigo   = d.CobradorCodigo,
                                        CobradorNombre   = d.CobradorNombre,
                                        CodigoSucursal   = d.CodigoSucursal,
                                        PrefijoSucursal  = d.Prefijo,
                                        Control          = d.Control,
                                        DepositoAuto     = d.DepositoAuto,
                                        DepositoCodigo   = d.DepositoCodigo,
                                        DepositoNombre   = d.DepositoNombre,
                                        DesctoMonto_1    = d.DesctoMonto_1,
                                        DesctoMonto_2    = d.DesctoMonto_2,
                                        DesctoPorc_1     = d.DesctoPorc_1,
                                        DesctoPorc_2     = d.DesctoPorc_2,
                                        DocumentoNro     = d.DocumentoNro,
                                        Estacion         = d.Estacion,
                                        FactorCambio     = d.FactorCambio,
                                        Fecha            = d.Fecha,
                                        Hora             = d.Hora,
                                        Id                = d.Id,
                                        IdJornada         = d.IdJornada,
                                        IdOperador        = d.IdOperador,
                                        Impuesto1         = d.Impuesto1,
                                        Impuesto2         = d.Impuesto2,
                                        Impuesto3         = d.Impuesto3,
                                        IsActiva          = d.IsActiva,
                                        IsCredito         = d.IsCredito,
                                        MesRelacion       = d.MesRelacion,
                                        MontoBase         = d.MontoBase,
                                        MontoCostoVenta   = d.MontoCostoVenta,
                                        MontoDivisa       = d.MontoDivisa,
                                        MontoExento       = d.MontoExento,
                                        MontoImpuesto     = d.MontoImpuesto,
                                        MontoRecibido     = d.MontoRecibido,
                                        MontoSubt         = d.MontoSubt,
                                        MontoSubtImpuesto = d.MontoSubtImpuesto,
                                        MontoSubtNeto     = d.MontoSubtNeto,
                                        MontoTotal        = d.MontoTotal,
                                        MontoUtilidad     = d.MontoUtilidad,
                                        MontoUtilidadPorc = d.MontoUtilidadPorc,
                                        MontoVentaNeta    = d.MontoVentaNeta,
                                        Renglones         = d.Renglones,
                                        Serie             = d.Serie,
                                        Signo             = d.Signo,
                                        TasaIva1          = d.TasaIva1,
                                        TasaIva2          = d.TasaIva2,
                                        TasaIva3          = d.TasaIva3,
                                        TipoDocumento     = (OOB.LibVenta.PosOffline.Servidor.PrepararData.Enumerados.EnumTipoDocumento)d.TipoDocumento,
                                        TranporteAuto     = d.TranporteAuto,
                                        TranporteCodigo   = d.TranporteCodigo,
                                        TranporteNombre   = d.TranporteNombre,
                                        UsuarioAuto       = d.UsuarioAuto,
                                        UsuarioCodigo     = d.UsuarioCodigo,
                                        UsuarioNombre     = d.UsuarioNombre,
                                        VendedorAuto      = d.VendedorAuto,
                                        VendedorCodigo    = d.VendedorCodigo,
                                        VendedorNombre    = d.VendedorNombre,
                                        Tarifa            = d.Tarifa,
                                        SaldoPendiente    = d.SaldoPendiente,
                                        AutoConceptoMov   = d.AutoConceptoMov,
                                        CodigoConceptoMov = d.CodigoConceptoMov,
                                        NombreConceptoMov = d.NombreConceptoMov,

                                        Detalles = d.Detalles.Select(dt =>
                                        {
                                            var detalle = new OOB.LibVenta.PosOffline.Servidor.PrepararData.DocumentoDetalle()
                                            {
                                                AutoDepartamento   = dt.AutoDepartamento,
                                                AutoGrupo          = dt.AutoGrupo,
                                                AutoProducto       = dt.AutoProducto,
                                                AutoSubGrupo       = dt.AutoSubGrupo,
                                                AutoTasa           = dt.AutoTasa,
                                                Cantidad           = dt.Cantidad,
                                                CantidadUnd        = dt.CantidadUnd,
                                                Categoria          = dt.Categoria,
                                                CodigoProducto     = dt.CodigoProducto,
                                                CostoCompraUnd     = dt.CostoCompraUnd,
                                                CostoPromedioUnd   = dt.CostoPromedioUnd,
                                                CostoVenta         = dt.CostoVenta,
                                                Decimales          = dt.Decimales,
                                                DiaEmpaqueGarantia = dt.DiaEmpaqueGarantia,
                                                EmpaqueCodigo      = dt.EmpaqueCodigo,
                                                EmpaqueContenido   = dt.EmpaqueContenido,
                                                EmpaqueDescripcion = dt.EmpaqueDescripcion,
                                                EsPesado           = dt.EsPesado,
                                                Id             = dt.Id,
                                                MontoDscto_1   = dt.MontoDscto_1,
                                                MontoDscto_2   = dt.MontoDscto_2,
                                                MontoDscto_3   = dt.MontoDscto_3,
                                                MontoIva       = dt.MontoIva,
                                                NombreProducto = dt.NombreProducto,
                                                Notas          = dt.Notas,
                                                PorcDscto_1    = dt.PorcDscto_1,
                                                PorcDscto_2    = dt.PorcDscto_2,
                                                PorcDscto_3    = dt.PorcDscto_3,
                                                PrecioFinal    = dt.PrecioFinal,
                                                PrecioItem     = dt.PrecioItem,
                                                PrecioNeto     = dt.PrecioNeto,
                                                PrecioSugerido = dt.PrecioSugerido,
                                                PrecioUnd      = dt.PrecioUnd,
                                                Tarifa         = dt.Tarifa,
                                                TasaIva        = dt.TasaIva,
                                                TipoIva        = dt.TipoIva,
                                                Total          = dt.Total,
                                                TotalDescuento = dt.TotalDescuento,
                                                TotalNeto      = dt.TotalNeto,
                                                UtilidadMonto  = dt.UtilidadMonto,
                                                UtilidadPorct  = dt.UtilidadPorct,
                                                CostoCompra    = dt.CostoCompra,
                                                CostoPromedio  = dt.CostoPromedio,
                                            };
                                            return(detalle);
                                        }).ToList(),

                                        MetodosPago = d.MetodosPago.Select(p =>
                                        {
                                            var pago = new OOB.LibVenta.PosOffline.Servidor.PrepararData.DocumentoPago()
                                            {
                                                AutoMedioCobro   = p.AutoMedioCobro,
                                                CodigoMedioCobro = p.CodigoMedioCobro,
                                                Id            = p.Id,
                                                LoteNro       = p.LoteNro,
                                                MedioCobro    = p.MedioCobro,
                                                MontoImporte  = p.MontoImporte,
                                                MontoRecibido = p.MontoRecibido,
                                                ReferenciaNro = p.ReferenciaNro,
                                                Tasa          = p.Tasa,
                                            };
                                            return(pago);
                                        }).ToList(),
                                    };
                                    return(doc);
                                }).ToList(),
                            };
                            return(jor);
                        }).ToList();
                        rt.Jornadas = listJor;
                    }
                }
            }
            result.Entidad = rt;

            return(result);
        }
Ejemplo n.º 2
0
        public CxCPago(OOB.LibVenta.PosOffline.Servidor.PrepararData.Documento doc)
        {
            if (!doc.IsCredito)
            {
                var d = doc;
                Pago = new CxC()
                {
                    CCobranza        = 0.0m,
                    CCobranzap       = 0.0m,
                    Fecha            = d.Fecha,
                    TipoDocumento    = "PAG",
                    Documento        = "",
                    FechaVencimiento = d.Fecha,
                    Nota             = "",
                    Importe          = d.MontoRecibido,
                    Acumulado        = 0,
                    AutoCliente      = "0000000001",
                    Cliente          = d.ClienteNombre,
                    CiRif            = d.CiRif,
                    CodigoCliente    = "01",
                    EstatusCancelado = "0",
                    Resta            = 0.0m,
                    EstatusAnulado   = d.EstatusAnulado,
                    AutoDocumento    = "",
                    Numero           = "",
                    AutoAgencia      = "0000000001",
                    Agencia          = "",
                    Signo            = -1,
                    AutoVendedor     = d.VendedorAuto,
                    CDepartamento    = 0.0m,
                    CVentas          = 0.0m,
                    CVentasp         = 0.0m,
                    Serie            = "",
                    ImporteNeto      = 0.0M,
                    Dias             = 0,
                    Castigop         = 0.0m,
                    FactorCambio     = d.FactorCambio,
                    ImporteDivisa    = Math.Round((d.MontoRecibido / d.FactorCambio), 2, MidpointRounding.AwayFromZero),
                };

                Recibo = new CxCRecibo()
                {
                    Fecha          = d.Fecha,
                    AutoUsuario    = d.UsuarioAuto,
                    Importe        = d.MontoTotal,
                    Usuario        = d.UsuarioNombre,
                    MontoRecibido  = d.MontoRecibido,
                    Cobrador       = d.CobradorNombre,
                    AutoCliente    = "0000000001",
                    Cliente        = d.ClienteNombre,
                    CiRif          = d.CiRif,
                    Codigo         = "01",
                    EstatusAnulado = d.EstatusAnulado,
                    Direccion      = d.ClienteDirFiscal,
                    Telefono       = d.ClienteTelefono,
                    AutoCobrador   = d.CobradorAuto,
                    Anticipos      = 0.0m,
                    Cambio         = d.CambioDar,
                    Nota           = "",
                    CodigoCobrador = d.CobradorCodigo,
                    AutoCxC        = "",
                    Retenciones    = 0.0m,
                    Descuentos     = 0.0m,
                    Hora           = d.Hora,
                    Cierre         = "",
                    FactorCambio   = d.FactorCambio,
                    ImporteDivisa  = Math.Round((d.MontoRecibido / d.FactorCambio), 2, MidpointRounding.AwayFromZero),
                };

                Documento = new CxCDocumento()
                {
                    Id             = 1,
                    Fecha          = d.Fecha,
                    TipoDocumento  = "FAC",
                    Documento      = d.DocumentoNro,
                    Importe        = d.MontoTotal,
                    Operacion      = "Pago",
                    FechaRecepcion = new DateTime(2000, 01, 01),
                    Dias           = 0,
                    CastigoP       = 0.0m,
                    ComisionP      = 0.0m,
                };

                MediosPago = d.MetodosPago.Select(s =>
                {
                    var lote          = s.LoteNro;
                    var referencia    = s.ReferenciaNro;
                    var montoRecibido = s.MontoRecibido;
                    if (s.Tasa > 1)
                    {
                        lote          = s.MontoRecibido.ToString();
                        referencia    = s.Tasa.ToString();
                        montoRecibido = s.MontoRecibido * s.Tasa;
                    }

                    var mp = new OOB.LibVenta.PosOffline.Servidor.EnviarData.CxCMedioPago()
                    {
                        AutoMedioPago  = s.AutoMedioCobro,
                        AutoAgencia    = "",
                        Medio          = s.MedioCobro,
                        Codigo         = s.CodigoMedioCobro,
                        MontoRecibido  = montoRecibido,
                        Fecha          = d.Fecha,
                        EstatusAnulado = d.EstatusAnulado,
                        Numero         = "",
                        Agencia        = "",
                        AutoUsuario    = d.UsuarioAuto,
                        Lote           = lote,
                        Referencia     = referencia,
                        AutoCobrador   = d.CobradorAuto,
                        Cierre         = "",
                        FechaAgencia   = new DateTime(2000, 01, 01),
                    };
                    return(mp);
                }).ToList();
            }
            else
            {
                Pago       = null;
                Recibo     = null;
                Documento  = null;
                MediosPago = null;
            }
        }