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);
        }
Example #2
0
        public Ficha(OOB.LibVenta.PosOffline.Servidor.PrepararData.Ficha data)
            : this()
        {
            Jornadas = data.Jornadas.Select(s =>
            {
                var nj = new OOB.LibVenta.PosOffline.Servidor.EnviarData.Jornada()
                {
                    Id = s.Id,
                    EstatusTransmitida = "T",
                };
                return(nj);
            }).ToList();

            Series = data.Series.Select(s =>
            {
                var ns = new OOB.LibVenta.PosOffline.Servidor.EnviarData.Serie()
                {
                    Auto        = s.Auto,
                    Correlativo = s.Correlativo,
                };
                return(ns);
            }).ToList();


            foreach (var jor in data.Jornadas)
            {
                var prefijo = jor.Cierre.prefijo;

                var c      = jor.Cierre;
                var cierre = new OOB.LibVenta.PosOffline.Servidor.EnviarData.MovCierre()
                {
                    autoUsuario   = c.autoUsuario,
                    codigoUsuario = c.codigoUsuario,
                    usuario       = c.usuario,
                    fecha         = c.fecha,
                    hora          = c.hora,
                    diferencia    = c.diferencia,
                    efectivo      = c.efectivo,
                    divisa        = c.divisa,
                    debito        = c.tarjeta,
                    otros         = c.otros,
                    firma         = c.firma,
                    devolucion    = c.devolucion,
                    subTotal      = c.subTotal,
                    total         = c.total,
                    mfectivo      = c.mEfectivo,
                    mdivisa       = c.mDivisa,
                    mdebito       = c.mTarjeta,
                    motros        = c.mOtro,
                    mfirma        = c.mFirma,
                    msubtotal     = c.mSubTotal,
                    mtotal        = c.mTotal,
                    //
                    cntDivisa        = c.cntDivisa,
                    cntDivisaUsuario = c.cntDivisaUsu,
                    cntDoc           = c.cntDoc,
                    cntDocFac        = c.cntDocFac,
                    cntDocNcr        = c.cntDocNcr,
                    montoFac         = c.montoFac,
                    montoNcr         = c.montoNcr,
                };

                var listDoc = new List <Documento>();
                listDoc = jor.Documentos.Where(w => w.IsActiva).Select(d =>
                {
                    var nd = new OOB.LibVenta.PosOffline.Servidor.EnviarData.Documento()
                    {
                        AnoRelacion              = d.AnoRelacion,
                        AnticipoIva              = 0,
                        Aplica                   = d.Aplica,
                        AutoCliente              = "0000000001",
                        AutoCxC                  = "",
                        AutoRecibo               = "",
                        AutoRemision             = "",
                        AutoTransporte           = d.TranporteAuto,
                        AutoUsuario              = d.UsuarioAuto,
                        AutoVendedor             = d.VendedorAuto,
                        Base1                    = d.Base1,
                        Base2                    = d.Base2,
                        Base3                    = d.Base3,
                        Cambio                   = d.CambioDar,
                        Cargos                   = d.CargoMonto_1,
                        Cargosp                  = d.CargoPorc_1,
                        CiBeneficiario           = "",
                        Cierre                   = "",
                        CiRif                    = d.CiRif,
                        CiTitular                = "",
                        Clave                    = "",
                        CodigoCliente            = "01",
                        CodigoSucursal           = d.CodigoSucursal,
                        CodigoTransporte         = d.TranporteCodigo,
                        CodigoUsuario            = d.UsuarioCodigo,
                        CodigoVendedor           = d.VendedorCodigo,
                        Columna                  = "1",
                        ComprobanteRetencion     = "",
                        ComprobanteRetencionIslr = "",
                        CondicionPago            = d.CondicionPago,
                        Control                  = d.Control,
                        Costo                    = d.MontoCostoVenta,
                        DenominacionFiscal       = "No Contribuyente",
                        Descuento1               = d.DesctoMonto_1,
                        Descuento1p              = d.DesctoPorc_1,
                        Descuento2               = d.DesctoMonto_2,
                        Descuento2p              = d.DesctoPorc_2,
                        Despachado               = "",
                        Dias                  = 0,
                        DiasValidez           = 0,
                        DirDespacho           = "",
                        DirFiscal             = d.ClienteDirFiscal,
                        DocumentoNombre       = d.DocumentoNombreVenta,
                        DocumentoNro          = d.DocumentoNro,
                        DocumentoRemision     = "",
                        DocumentoTipo         = "Ventas",
                        Estacion              = d.Estacion,
                        EstatusAnulado        = d.EstatusAnulado,
                        EstatusCierreContable = "0",
                        EstatusValidado       = "0",
                        Exento                = d.MontoExento,
                        Expendiente           = "",
                        FactorCambio          = d.FactorCambio,
                        Fecha                 = d.Fecha,
                        FechaPedido           = d.Fecha,
                        FechaRegistro         = d.Fecha,
                        FechaRetencion        = new DateTime(2000, 01, 01),
                        FechaVencimiento      = d.Fecha,
                        Hora                  = d.Hora,
                        Impuesto              = d.MontoImpuesto,
                        Impuesto1             = d.Impuesto1,
                        Impuesto2             = d.Impuesto2,
                        Impuesto3             = d.Impuesto3,
                        MBase                 = d.MontoBase,
                        MesRelacion           = d.MesRelacion,
                        MontoDivisa           = d.MontoDivisa,
                        Neto                  = d.MontoVentaNeta,
                        NombreBeneficiario    = "",
                        NombreTitular         = "",
                        Nota                  = "",
                        OrdenCompra           = "",
                        Pedido                = "",
                        Planilla              = "",
                        RazonSocial           = d.ClienteNombre,
                        Recibo                = "",
                        Renglones             = d.Renglones,
                        RetencionIslr         = 0.0m,
                        RetencionIva          = 0.0m,
                        SaldoPendiente        = d.SaldoPendiente,
                        Serie                 = d.Serie,
                        Signo                 = d.Signo,
                        Situacion             = "Procesado",
                        SubTotal              = d.MontoSubt,
                        SubTotalImpuesto      = d.MontoSubtImpuesto,
                        SubTotalNeto          = d.MontoSubtNeto,
                        Tarifa                = d.Tarifa,
                        Tasa1                 = d.TasaIva1,
                        Tasa2                 = d.TasaIva2,
                        Tasa3                 = d.TasaIva3,
                        TasaRetencionIslr     = 0.0m,
                        TasaRetencionIva      = 0.0m,
                        Telefono              = d.ClienteTelefono,
                        TercerosIva           = 0,
                        Tipo                  = d.Codigo,
                        TipoCliente           = "",
                        TipoRemision          = "",
                        Total                 = d.MontoTotal,
                        Transporte            = d.TranporteNombre,
                        Usuario               = d.UsuarioNombre,
                        Utilidad              = d.MontoUtilidad,
                        Utilidadp             = d.MontoUtilidadPorc,
                        Vendedor              = d.VendedorNombre,
                        PrefijoSucursal       = d.PrefijoSucursal,


                        DocCxC = new CxC()
                        {
                            CCobranza        = 0.0m,
                            CCobranzap       = 0.0m,
                            Fecha            = d.Fecha,
                            TipoDocumento    = d.TipoDocumentoCxC,
                            Documento        = d.DocumentoNro,
                            FechaVencimiento = d.Fecha,
                            Nota             = "",
                            Importe          = d.MontoTotal,
                            Acumulado        = d.AcumuladoCxC,
                            AutoCliente      = "0000000001",
                            Cliente          = d.ClienteNombre,
                            CiRif            = d.CiRif,
                            CodigoCliente    = "01",
                            EstatusCancelado = d.EstatusPagado,
                            Resta            = d.SaldoPendiente,
                            EstatusAnulado   = d.EstatusAnulado,
                            AutoDocumento    = "",
                            Numero           = "",
                            AutoAgencia      = "0000000001",
                            Agencia          = "",
                            Signo            = d.Signo,
                            AutoVendedor     = d.VendedorAuto,
                            CDepartamento    = 0.0m,
                            CVentas          = 0.0m,
                            CVentasp         = 0.0m,
                            Serie            = d.Serie,
                            ImporteNeto      = d.MontoVentaNeta,
                            Dias             = 0,
                            Castigop         = 0.0m,
                            FactorCambio     = d.FactorCambio,
                            ImporteDivisa    = d.MontoDivisa,
                        },

                        //DocPago = ((d.TipoDocumento != PrepararData.Enumerados.EnumTipoDocumento.NotaCredito) || (!d.IsCredito)) ? new CxCPago(d) : null,
                        DocPago = (d.IsCredito || d.TipoDocumento == PrepararData.Enumerados.EnumTipoDocumento.NotaCredito) ? null : new CxCPago(d),

                        Detalles = d.Detalles.Select(dt =>
                        {
                            var md = new OOB.LibVenta.PosOffline.Servidor.EnviarData.DocumentoDetalle()
                            {
                                Auto              = "",
                                AutoCliente       = "0000000001",
                                AutoDepartamento  = dt.AutoDepartamento,
                                AutoDeposito      = d.DepositoAuto,
                                AutoGrupo         = dt.AutoGrupo,
                                AutoProducto      = dt.AutoProducto,
                                AutoSubGrupo      = dt.AutoSubGrupo,
                                AutoTasa          = dt.AutoTasa,
                                AutoVendedor      = d.VendedorAuto,
                                Cantidad          = dt.Cantidad,
                                CantidadUnd       = dt.CantidadUnd,
                                Categoria         = dt.Categoria,
                                Cobranza          = 0.0m,
                                Cobranzap         = 0.0m,
                                CobranzapVendedor = 0.0m,
                                CobranzaVendedor  = 0.0m,
                                Codigo            = dt.CodigoProducto,
                                CodigoDeposito    = d.DepositoCodigo,
                                CodigoVendedor    = d.VendedorCodigo,
                                ContenidoEmpaque  = dt.EmpaqueContenido,
                                Corte             = "",
                                CostoCompra       = dt.CostoCompra,
                                CostoPromedioUnd  = dt.CostoPromedioUnd,
                                CostoUnd          = dt.CostoCompraUnd,
                                CostoVenta        = dt.CostoVenta,
                                Decimales         = dt.Decimales,
                                Deposito          = d.DepositoNombre,
                                Descuento1        = 0.0m,
                                Descuento1p       = 0.0m,
                                Descuento2        = 0.0m,
                                Descuento2p       = 0.0m,
                                Descuento3        = 0.0m,
                                Descuento3p       = 0.0m,
                                Detalle           = "",
                                DiasGarantia      = 0,
                                Empaque           = dt.EmpaqueDescripcion,
                                EstatusAnulado    = d.EstatusAnulado,
                                EstatusChecked    = "1",
                                EstatusCorte      = "0",
                                EstatusGarantia   = "0",
                                EstatusSerial     = "0",
                                Fecha             = d.Fecha,
                                Hora              = d.Hora,
                                Impuesto          = dt.MontoIva,
                                Nombre            = dt.NombreProducto,
                                PrecioFinal       = dt.PrecioFinal,
                                PrecioItem        = dt.PrecioItem,
                                PrecioNeto        = dt.PrecioNeto,
                                PrecioSugerido    = dt.PrecioSugerido,
                                PrecioUnd         = dt.PrecioUnd,
                                Signo             = d.Signo,
                                Tarifa            = dt.Tarifa,
                                Tasa              = dt.TasaIva,
                                Tipo              = d.Codigo,
                                Total             = dt.Total,
                                TotalDescuento    = dt.TotalDescuento,
                                TotalNeto         = dt.TotalNeto,
                                Utilidad          = dt.UtilidadMonto,
                                Utilidadp         = dt.UtilidadPorct,
                                Ventas            = 0.0m,
                                Ventasp           = 0.0m,
                                VentaspVendedor   = 0.0m,
                                VentasVendedor    = 0.0m,
                                X = 1.0m,
                                Y = 1.0m,
                                Z = 1.0m,
                            };
                            return(md);
                        }).ToList(),

                        MovKardex = d.Detalles.Select(dt =>
                        {
                            var mk = new OOB.LibVenta.PosOffline.Servidor.EnviarData.ProductoKardex()
                            {
                                AutoConcepto   = d.AutoConceptoMov,
                                AutoDeposito   = d.DepositoAuto,
                                AutoProducto   = dt.AutoProducto,
                                Cantidad       = dt.Cantidad,
                                CantidadBono   = 0,
                                CantidadUnd    = dt.CantidadUnd,
                                Codigo         = d.Codigo,
                                CodigoSucursal = d.CodigoSucursal,
                                CostoUnd       = dt.CostoPromedioUnd,
                                Documento      = d.DocumentoNro,
                                Entidad        = "NO CONTRIBUYENTE NA",
                                EstatusAnulado = d.EstatusAnulado,
                                Fecha          = d.Fecha,
                                Hora           = d.Hora,
                                Modulo         = "Ventas",
                                Nota           = "",
                                PrecioUnd      = dt.PrecioUnd,
                                Siglas         = d.Siglas,
                                Signo          = d.Signo * (-1),
                                Total          = dt.CostoVenta,
                                CodigoConcepto = d.CodigoConceptoMov,
                                NombreConcepto = d.NombreConceptoMov,
                                CodigoDeposito = d.DepositoCodigo,
                                NombreDeposito = d.DepositoNombre,
                            };
                            return(mk);
                        }).ToList(),

                        ActDeposito = d.Deposito.GroupBy(g => new { g.AutoProducto, g.AutoDeposito }).
                                      Select(gc => new OOB.LibVenta.PosOffline.Servidor.EnviarData.ProductoDeposito()
                        {
                            AutoDeposito = gc.Key.AutoDeposito,
                            AutoProducto = gc.Key.AutoProducto,
                            CantUnd      = gc.Sum(t => t.CantidadUnd),
                        }).ToList(),
                    };

                    var auto = 1;
                    foreach (var det in nd.Detalles)
                    {
                        det.Auto = auto.ToString().Trim().PadLeft(10, '0');
                        auto    += 1;
                    }
                    return(nd);
                }).ToList();

                var mov = new Movimiento();
                mov.Cierre     = cierre;
                mov.Documentos = listDoc;
                mov.Prefijo    = prefijo;
                Movimientos.Add(mov);
            }
        }