public async Task <ActionResult <ReciboCobranzas> > PostReciboCobranzas(ReciboCobranzas reciboCobranzas)
        {
            try
            {
                List <ImputacionComprobantesVenta> imputaciones = reciboCobranzas.Imputaciones;
                List <MovimientoCaja> movimientoCajas           = reciboCobranzas.movimientosCaja;
                Cliente cliente = reciboCobranzas.Cliente;
                reciboCobranzas.Cliente         = null;
                reciboCobranzas.Imputaciones    = null;
                reciboCobranzas.movimientosCaja = null;

                _context.reciboCobranzas.Add(reciboCobranzas);
                cliente.saldoCC -= reciboCobranzas.totalComprobante;
                _context.Entry(cliente).State = EntityState.Modified;
                await _context.SaveChangesAsync();

                foreach (ImputacionComprobantesVenta imputacion in imputaciones)
                {
                    imputacion.ReciboCobranzasId     = reciboCobranzas.Id;
                    _context.Entry(imputacion).State = EntityState.Added;

                    imputacion.FacturaVenta.totalCancelado += imputacion.totalImputado;
                    if (imputacion.FacturaVenta.totalCancelado == imputacion.FacturaVenta.totalComprobante)
                    {
                        imputacion.FacturaVenta.EstadoFacturaId = 2;
                    }
                    _context.Entry(imputacion.FacturaVenta).State = EntityState.Modified;

                    await _context.SaveChangesAsync();
                }

                foreach (MovimientoCaja movimientoCaja in movimientoCajas)
                {
                    movimientoCaja.ReciboCobranzasId = reciboCobranzas.Id;
                    movimientoCaja.entra             = true;
                    movimientoCaja.sale = false;
                    _context.Entry(movimientoCaja).State = EntityState.Added;

                    movimientoCaja.Caja.saldo += movimientoCaja.totalMovimiento;
                    _context.Entry(movimientoCaja.Caja).State = EntityState.Modified;


                    await _context.SaveChangesAsync();
                }


                return(CreatedAtAction("GetReciboCobranzas", new { id = reciboCobranzas.Id }, reciboCobranzas));
            }
            catch (Exception es)
            {
                throw;
            }
        }
        protected override async Task OnInitializedAsync()
        {
            recibo = new ReciboCobranzas {
                movimientosCaja = new List <MovimientoCaja>(), Imputaciones = new List <ImputacionComprobantesVenta>()
            };

            var authState = await authStateProvider.GetAuthenticationStateAsync();

            User     = authState.User;
            userName = User.Identity.Name;
            await ListarCajas();
        }