Exemple #1
0
        /// <summary>
        /// Método para obtener CashOut de las Cajas
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public CompendioCashOut ObtenerCashOut(TokenDto token)
        {
            CompendioCashOut   compendioCashOut = new CompendioCashOut();
            List <CashOutCaja> cashOutCajas     = new List <CashOutCaja>();

            compendioCashOut.CodigoTienda = token.CodeStore;
            // Procesar información de las Cajas
            var parametrosCD = new Dictionary <string, object>();

            foreach (var caja in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerCajasDestino]", parametrosCD))
            {
                // Procesar información de las Lecturas de cada Caja
                CashOutCaja cashOutCaja = new CashOutCaja();
                cashOutCaja.CodigoCaja = Convert.ToInt16(caja.GetValue(1));
                List <LecturaZ> lecturasZ    = new List <LecturaZ>();
                var             parametrosLZ = new Dictionary <string, object>();
                parametrosLZ.Add("@CodigoTienda", compendioCashOut.CodigoTienda);
                parametrosLZ.Add("@CodigoCaja", cashOutCaja.CodigoCaja);
                foreach (var lectura in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerLecturasZPorCaja]", parametrosLZ))
                {
                    LecturaZ lecturaZ = new LecturaZ();
                    lecturaZ.FolioCorte = lectura.GetValue(0).ToString();
                    // Procesar información del detalle de la Lectura
                    List <DetalleLecturaFormaPago> detallesLecturaFormaPago = new List <DetalleLecturaFormaPago>();
                    var parametrosDLZ = new Dictionary <string, object>();
                    parametrosDLZ.Add("@FolioCorteZ", lecturaZ.FolioCorte);
                    foreach (var detalleLectura in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerDetalleLecturaZ]", parametrosDLZ))
                    {
                        DetalleLecturaFormaPago detalleLecturaFormaPago = new DetalleLecturaFormaPago();
                        detalleLecturaFormaPago.ImporteFisico         = 0.00M;
                        detalleLecturaFormaPago.ImporteTeorico        = Convert.ToDecimal(detalleLectura.GetValue(0));
                        detalleLecturaFormaPago.FondoFijoActual       = Convert.ToDecimal(detalleLectura.GetValue(1));
                        detalleLecturaFormaPago.TotalRetirosParciales = Convert.ToDecimal(detalleLectura.GetValue(2));
                        ConfigGeneralesCajaTiendaFormaPago configGeneralesCajaTiendaFormaPago = new ConfigGeneralesCajaTiendaFormaPago();
                        configGeneralesCajaTiendaFormaPago.IdentificadorFormaPago = detalleLectura.GetValue(3).ToString();
                        configGeneralesCajaTiendaFormaPago.CodigoFormaPago        = detalleLectura.GetValue(4).ToString();
                        configGeneralesCajaTiendaFormaPago.DescripcionFormaPago   = detalleLectura.GetValue(5).ToString();
                        detalleLecturaFormaPago.InformacionAsociadaFormasPago     = configGeneralesCajaTiendaFormaPago;
                        detallesLecturaFormaPago.Add(detalleLecturaFormaPago);
                    }
                    lecturaZ.DetallesLecturaFormaPago = detallesLecturaFormaPago.ToArray();
                    lecturasZ.Add(lecturaZ);
                }
                cashOutCaja.LecturasZ = lecturasZ.ToArray();
                cashOutCajas.Add(cashOutCaja);
            }
            compendioCashOut.CashOutCajas = cashOutCajas.ToArray();
            return(compendioCashOut);
        }
Exemple #2
0
        /// <summary>
        /// Metodo para obtener las monedas extranjeras
        /// </summary>
        /// <param name="codeStore"></param>
        /// <returns></returns>
        public List <ConfigGeneralesCajaTiendaFormaPago> ObtenerMonedasExtranjeras(int codeStore)
        {
            List <ConfigGeneralesCajaTiendaFormaPago> formaPagos = new List <ConfigGeneralesCajaTiendaFormaPago>();
            var parametros = new Dictionary <string, object>();

            parametros.Add("@CodigoTienda", codeStore);
            foreach (var item in data.GetDataReader("[dbo].[sp_vanti_ObtenerFormasPagoMonedaExtEfectivo]", parametros))
            {
                ConfigGeneralesCajaTiendaFormaPago monedaReturn = new ConfigGeneralesCajaTiendaFormaPago();
                monedaReturn.CodigoFormaPago      = item.GetValue(0).ToString();
                monedaReturn.DescripcionFormaPago = item.GetValue(1).ToString();

                formaPagos.Add(monedaReturn);
            }

            return(formaPagos);
        }
Exemple #3
0
        /// <summary>
        /// Busca y regresa las formas de pago que no son moneda extranjera
        /// </summary>
        /// <param name="codigoCaja">Número de la caja</param>
        /// <param name="codigoTienda">Codigo de la tienda a buscar</param>
        /// <param name="folioOperacion">Folio de la operación asociada</param>
        /// <param name="folioDevolucion">Folio de la devolución asociada</param>
        /// <param name="tipoCabeceraVenta">Tipo cabecera venta asociada</param>
        /// <returns></returns>
        public ConfigGeneralesCajaTiendaFormaPago[] GetConfigFormasPago(int codigoCaja, int codigoTienda, String folioOperacion, String folioDevolucion, String tipoCabeceraVenta)
        {
            ConfigGeneralesCajaTiendaFormaPago[]      configGeneralesFp     = new ConfigGeneralesCajaTiendaFormaPago[0];
            List <ConfigGeneralesCajaTiendaFormaPago> confGralFormaPagoList = new List <ConfigGeneralesCajaTiendaFormaPago>();
            ConfigGeneralesCajaTiendaFormaPago        confGralFormaPagoItem;
            var parameters = new Dictionary <string, object>();

            parameters.Add("@FolioOperacion", folioOperacion);
            parameters.Add("@TipoCabeceraVenta", tipoCabeceraVenta);
            parameters.Add("@FolioDevolucion", folioDevolucion);
            parameters.Add("@CodigoTienda", codigoTienda);
            parameters.Add("@CodigoCaja", codigoCaja);
            foreach (var result in data.GetDataReader("[dbo].[sp_vanti_ConfiguracionFormasPago]", parameters))
            {
                confGralFormaPagoItem = new ConfigGeneralesCajaTiendaFormaPago();
                confGralFormaPagoItem.IdentificadorFormaPago = result.GetValue(0).ToString();
                confGralFormaPagoItem.CodigoFormaPago        = result.GetValue(0).ToString();
                confGralFormaPagoItem.DescripcionFormaPago   = result.GetValue(1).ToString();
                confGralFormaPagoList.Add(confGralFormaPagoItem);
            }
            return(confGralFormaPagoList.ToArray());
        }
Exemple #4
0
        private ConfigGeneralesCajaTiendaResponse GetConfiguraciones(int CodigoCaja, int CodigoTienda, int codigoEmpleado, int registrarTransaccionLogin)
        {
            ConfigGeneralesCajaTiendaResponse  cnf           = new ConfigGeneralesCajaTiendaResponse();
            ConfigGeneralesCajaTiendaImpuesto  cnfImpuestos  = new ConfigGeneralesCajaTiendaImpuesto();
            ConfigGeneralesCajaTiendaFormaPago cnfFormasPago = new ConfigGeneralesCajaTiendaFormaPago();
            var parameters = new Dictionary <string, object>();

            parameters.Add("@CodigoTienda", CodigoTienda);
            parameters.Add("@CodigoCaja", CodigoCaja);
            parameters.Add("@CodigoEmpleado", codigoEmpleado);
            parameters.Add("@RegistrarTransaccionLogin", registrarTransaccionLogin);
            foreach (var c in data.GetDataReader("dbo.sp_vanti_ConfiguracionesGeneralesCajaTienda", parameters))
            {
                cnf.ColorVentaRegular                = c.GetValue(0).ToString();
                cnf.ColorVentaEmpleaado              = c.GetValue(1).ToString();
                cnf.ColorVentaMayorista              = c.GetValue(2).ToString();
                cnf.ColorDevoluciones                = c.GetValue(3).ToString();
                cnf.ColorFormasDePago                = c.GetValue(4).ToString();
                cnf.RutaLogTransacciones             = c.GetValue(5).ToString();
                cnf.MontoMaximoCambioVales           = Convert.ToDecimal(c.GetValue(6));
                cnf.SkuTarjetaRegalo                 = Convert.ToInt32(c.GetValue(7));
                cnf.SkuPagoConValeMayorista          = Convert.ToInt32(c.GetValue(8));
                cnf.SkuComisionPagoServicios         = Convert.ToInt32(c.GetValue(9));
                cnf.PorcentajePagoConValeMayorista   = Convert.ToInt32(c.GetValue(10));
                cnf.MontoMinimoAbonoApartado         = Convert.ToDecimal(c.GetValue(11));
                cnf.MontoMinimoPorcentajeApartado    = Convert.ToDecimal(c.GetValue(12));
                cnf.PorcentajeMaximoDescuentoDirecto = Convert.ToDecimal(c.GetValue(13));
                cnf.SkuPagoTCMM                  = Convert.ToInt32(c.GetValue(14));
                cnf.SkuPagoMayorista             = Convert.ToInt32(c.GetValue(15));
                cnf.SkuPagoComisionMayorista     = Convert.ToInt32(c.GetValue(16));
                cnfImpuestos.CodigoImpuesto      = c.GetValue(17).ToString();
                cnfImpuestos.PorcentajeImpuesto  = Convert.ToDecimal(c.GetValue(18));
                cnf.InformacionAsociadaImpuestos = cnfImpuestos;
                cnf.PosModoConsulta              = Convert.ToBoolean(c.GetValue(19));
            }
            return(cnf);
        }
Exemple #5
0
        /// <summary>
        /// Método para obtener una nueva Relación de Caja
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public RelacionCaja ObtenerRelacionCaja(TokenDto token)
        {
            RelacionCaja relacionCaja = new RelacionCaja();

            relacionCaja.CodigoTienda = token.CodeStore;
            List <GrupoRelacionCaja> gruposIncluidosRelacionCaja = new List <GrupoRelacionCaja>();

            relacionCaja.GruposRelacionCaja = gruposIncluidosRelacionCaja.ToArray();
            var grupos    = new Dictionary <String, GrupoRelacionCaja>();
            var secciones = new Dictionary <String, SeccionRelacionCaja>();
            List <GrupoRelacionCaja>   gruposRelacionCaja    = new List <GrupoRelacionCaja>();
            List <SeccionRelacionCaja> seccionesRelacionCaja = new List <SeccionRelacionCaja>();
            decimal iva        = this.ObtenerImpuestoTienda(token.CodeStore);
            var     parametros = new Dictionary <string, object>();

            parametros.Add("@CodigoTienda", token.CodeStore);
            parametros.Add("@CodigoCaja", token.CodeBox);
            foreach (var item in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerRelacionDeCaja]", parametros))
            {
                // Llenado de Desglose
                String   encabezadoGrupo   = item.GetValue(0).ToString();
                String   encabezadoSeccion = item.GetValue(1).ToString();
                Desglose desglose          = new Desglose();
                desglose.Descripcion = item.GetValue(2).ToString();
                desglose.TotalConIVA = Convert.ToDecimal(item.GetValue(3));
                // Llenado de Sección
                SeccionRelacionCaja seccionRelacionCajaActual;
                if (secciones.ContainsKey(encabezadoGrupo + encabezadoSeccion))
                {
                    seccionRelacionCajaActual = secciones[encabezadoGrupo + encabezadoSeccion];
                    List <Desglose> desgloses = seccionRelacionCajaActual.DesgloseRelacionCaja.ToList();
                    desgloses.Add(desglose);
                    seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray();
                }
                else
                {
                    seccionRelacionCajaActual            = new SeccionRelacionCaja();
                    seccionRelacionCajaActual.Encabezado = encabezadoSeccion;
                    List <Desglose> desgloses = new List <Desglose>();
                    desgloses.Add(desglose);
                    seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray();
                    secciones.Add(encabezadoGrupo + encabezadoSeccion, seccionRelacionCajaActual);
                    // Llenado de Grupo
                    GrupoRelacionCaja grupoRelacionCajaActual;
                    if (grupos.ContainsKey(encabezadoGrupo))
                    {
                        grupoRelacionCajaActual = grupos[encabezadoGrupo];
                        List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = grupoRelacionCajaActual.SeccionesRelacionCaja.ToList();
                        seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual);
                        grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray();
                    }
                    else
                    {
                        grupoRelacionCajaActual            = new GrupoRelacionCaja();
                        grupoRelacionCajaActual.Encabezado = encabezadoGrupo;
                        List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = new List <SeccionRelacionCaja>();
                        seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual);
                        grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray();
                        grupos.Add(encabezadoGrupo, grupoRelacionCajaActual);
                        // Agregar Grupo hacia Relacion Caja
                        List <GrupoRelacionCaja> gruposActuales = relacionCaja.GruposRelacionCaja.ToList();
                        gruposActuales.Add(grupoRelacionCajaActual);
                        relacionCaja.GruposRelacionCaja = gruposActuales.ToArray();
                    }
                }
            }
            // Asignar Totales
            foreach (var grupo in relacionCaja.GruposRelacionCaja)
            {
                foreach (var seccion in grupo.SeccionesRelacionCaja)
                {
                    foreach (var desglose in seccion.DesgloseRelacionCaja)
                    {
                        //if (seccion.Encabezado.Equals("OTROS INGRESOS"))
                        //{
                        //    seccion.TotalConIVA = 0.00M;
                        //    seccion.TotalSinIVA = 0.00M;
                        //    seccion.IVA = 0.00M;
                        //}
                        //else
                        //{
                        seccion.TotalConIVA = seccion.TotalConIVA + desglose.TotalConIVA;
                        seccion.TotalSinIVA = (seccion.TotalConIVA / (1 + iva));
                        seccion.IVA         = (seccion.TotalConIVA - seccion.TotalSinIVA);
                        //}
                    }
                    grupo.TotalConIVA = grupo.TotalConIVA + seccion.TotalConIVA;
                    grupo.TotalSinIVA = (grupo.TotalConIVA / (1 + iva));
                    grupo.IVA         = (grupo.TotalConIVA - grupo.TotalSinIVA);
                }
                relacionCaja.TotalConIVA = relacionCaja.TotalConIVA + grupo.TotalConIVA;
                relacionCaja.TotalSinIVA = (relacionCaja.TotalConIVA / (1 + iva));
                relacionCaja.IVA         = (relacionCaja.TotalConIVA - relacionCaja.TotalSinIVA);
            }

            // Asignar los Depositos
            List <DepositoAsociado> depositosAsociados = new List <DepositoAsociado>();
            var parametrosDepositos = new Dictionary <string, object>();

            parametrosDepositos.Add("@CodigoTienda", token.CodeStore);
            parametrosDepositos.Add("@CodigoCaja", token.CodeBox);
            foreach (var item in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerDepositosRelacionDeCaja]", parametrosDepositos))
            {
                DepositoAsociado depositoAsociado = new DepositoAsociado();
                depositoAsociado.TotalConIVA = Convert.ToDecimal(item.GetValue(0));;
                ConfigGeneralesCajaTiendaFormaPago configGeneralesCajaTiendaFormaPago = new ConfigGeneralesCajaTiendaFormaPago();
                configGeneralesCajaTiendaFormaPago.IdentificadorFormaPago = item.GetValue(1).ToString();
                configGeneralesCajaTiendaFormaPago.CodigoFormaPago        = item.GetValue(2).ToString();
                configGeneralesCajaTiendaFormaPago.DescripcionFormaPago   = item.GetValue(3).ToString();
                depositoAsociado.InformacionAsociadaFormasPago            = configGeneralesCajaTiendaFormaPago;
                depositosAsociados.Add(depositoAsociado);
            }
            relacionCaja.DepositosAsociados = depositosAsociados.ToArray();
            return(relacionCaja);
        }
Exemple #6
0
        /// <summary>
        /// Reporte de Relacion de Caja
        /// </summary>
        /// <param name="codeStore">Código del empleado</param>
        /// <param name="fechaInicial">Fecha inicial</param>
        /// <param name="fechaFinal">Fecha final</param>
        /// <param name="numeroPagina">Números por página</param>
        /// <param name="registrosPorPagina">Registros por página</param>
        /// <returns>Respuesta de la operación</returns>
        public RelacionCaja[] ReporteRelacionCaja(int codeStore, string fechaInicial, string fechaFinal, int numeroPagina, int registrosPorPagina)
        {
            ConfigGeneralesCajaTiendaFormaPago InformacionFormaPago = new ConfigGeneralesCajaTiendaFormaPago();

            List <RelacionCaja>        relacionesCaja = new List <RelacionCaja>();
            List <RelacionCajaRespose> relacionCajas  = new List <RelacionCajaRespose>();

            // Objeto y lista de DepositosAsociados
            DepositoAsociado        depositoAso  = new DepositoAsociado();
            List <DepositoAsociado> depositosAso = new List <DepositoAsociado>();

            var parameters = new Dictionary <string, object>();

            parameters.Add("@FechaInicial", fechaInicial);
            parameters.Add("@FechaFinal", fechaFinal);
            parameters.Add("@CodigoTienda", codeStore);
            parameters.Add("@NumeroPagina", numeroPagina);
            parameters.Add("@RegistrosPorPagina", registrosPorPagina);
            foreach (var r in data.GetDataReader("[dbo].[sp_vanti_server_ReporteRelacionesCaja]", parameters))
            {
                // Obtengo datos de relacion de caja
                RelacionCaja relacionCaja = new RelacionCaja();
                relacionCaja.TotalRegistros = Convert.ToInt32(r.GetValue(0));
                relacionCaja.IdRelacionCaja = Convert.ToInt32(r.GetValue(1));
                relacionCaja.CodigoTienda   = Convert.ToInt32(r.GetValue(2));
                relacionCaja.TotalConIVA    = Convert.ToDecimal(r.GetValue(3));
                relacionCaja.TotalSinIVA    = Convert.ToDecimal(r.GetValue(4));
                relacionCaja.IVA            = Convert.ToDecimal(r.GetValue(5));
                relacionCaja.Fecha          = Convert.ToString(r.GetValue(6));

                var parametersRelacion = new Dictionary <string, object>();
                parametersRelacion.Add("@CodigoRelacion", Convert.ToInt32(r.GetValue(1)));
                foreach (var a in data.GetDataReader("dbo.sp_vanti_server_ReporteRelacionCajaDeposito", parametersRelacion))
                {
                    //Obtenemos depositos asociados al id de relacion de caja.
                    DepositoAsociado depositoAsociado = new DepositoAsociado();
                    depositoAsociado.TotalConIVA = Convert.ToDecimal(a.GetValue(0));

                    //Se debe crear el tipo de dato infomacionAsociadaFormaPago
                    ConfigGeneralesCajaTiendaFormaPago tiendaFormaPago = new ConfigGeneralesCajaTiendaFormaPago();
                    tiendaFormaPago.CodigoFormaPago                = Convert.ToString(a.GetValue(1));
                    tiendaFormaPago.IdentificadorFormaPago         = Convert.ToString(a.GetValue(1));
                    tiendaFormaPago.DescripcionFormaPago           = Convert.ToString(a.GetValue(2));
                    depositoAsociado.InformacionAsociadaFormasPago = tiendaFormaPago;
                    depositosAso.Add(depositoAsociado);
                }
                relacionCaja.DepositosAsociados = depositosAso.ToArray();

                List <GrupoRelacionCaja> gruposIncluidosRelacionCaja = new List <GrupoRelacionCaja>();
                relacionCaja.GruposRelacionCaja = gruposIncluidosRelacionCaja.ToArray();
                var grupos    = new Dictionary <String, GrupoRelacionCaja>();
                var secciones = new Dictionary <String, SeccionRelacionCaja>();
                List <GrupoRelacionCaja>   gruposRelacionCaja    = new List <GrupoRelacionCaja>();
                List <SeccionRelacionCaja> seccionesRelacionCaja = new List <SeccionRelacionCaja>();

                var parametros = new Dictionary <string, object>();
                parametros.Add("@IdRelacionCaja", relacionCaja.IdRelacionCaja);
                foreach (var item in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerReporteRelacionDeCaja]", parametros))
                {
                    // Informacion Grupo
                    String encabezadoGrupo = item.GetValue(0).ToString();
                    // Información Sección
                    String encabezadoSeccion = item.GetValue(1).ToString();

                    // Información Desglose
                    Desglose desglose = new Desglose();
                    desglose.Descripcion = item.GetValue(2).ToString();
                    desglose.TotalConIVA = Convert.ToDecimal(item.GetValue(3));

                    // Llenado de Sección
                    SeccionRelacionCaja seccionRelacionCajaActual;
                    if (secciones.ContainsKey(encabezadoGrupo + encabezadoSeccion))
                    {
                        seccionRelacionCajaActual = secciones[encabezadoGrupo + encabezadoSeccion];
                        List <Desglose> desgloses = seccionRelacionCajaActual.DesgloseRelacionCaja.ToList();
                        desgloses.Add(desglose);
                        seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray();
                    }
                    else
                    {
                        seccionRelacionCajaActual             = new SeccionRelacionCaja();
                        seccionRelacionCajaActual.Encabezado  = encabezadoSeccion;
                        seccionRelacionCajaActual.IdSeccion   = Convert.ToInt32(item.GetValue(4));
                        seccionRelacionCajaActual.TotalConIVA = Convert.ToDecimal(item.GetValue(5));
                        seccionRelacionCajaActual.TotalSinIVA = Convert.ToDecimal(item.GetValue(6));
                        seccionRelacionCajaActual.IVA         = Convert.ToInt32(item.GetValue(7));
                        List <Desglose> desgloses = new List <Desglose>();
                        desgloses.Add(desglose);
                        seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray();
                        secciones.Add(encabezadoGrupo + encabezadoSeccion, seccionRelacionCajaActual);
                        // Llenado de Grupo
                        GrupoRelacionCaja grupoRelacionCajaActual;
                        if (grupos.ContainsKey(encabezadoGrupo))
                        {
                            grupoRelacionCajaActual = grupos[encabezadoGrupo];
                            List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = grupoRelacionCajaActual.SeccionesRelacionCaja.ToList();
                            seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual);
                            grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray();
                        }
                        else
                        {
                            grupoRelacionCajaActual             = new GrupoRelacionCaja();
                            grupoRelacionCajaActual.Encabezado  = encabezadoGrupo;
                            grupoRelacionCajaActual.IdGrupo     = Convert.ToInt32(item.GetValue(8));
                            grupoRelacionCajaActual.TotalConIVA = Convert.ToDecimal(item.GetValue(9));
                            grupoRelacionCajaActual.TotalSinIVA = Convert.ToDecimal(item.GetValue(10));
                            grupoRelacionCajaActual.IVA         = Convert.ToDecimal(item.GetValue(11));
                            List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = new List <SeccionRelacionCaja>();
                            seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual);
                            grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray();
                            grupos.Add(encabezadoGrupo, grupoRelacionCajaActual);
                            // Agregar Grupo hacia Relacion Caja
                            List <GrupoRelacionCaja> gruposActuales = relacionCaja.GruposRelacionCaja.ToList();
                            gruposActuales.Add(grupoRelacionCajaActual);
                            relacionCaja.GruposRelacionCaja = gruposActuales.ToArray();
                        }
                    }
                }
                relacionesCaja.Add(relacionCaja);
            }
            return(relacionesCaja.ToArray());
        }