Exemplo n.º 1
0
        internal async Task GuardarAsync(CierreCaja cierreCaja)
        {
            if (cierreCaja.Id == 0)
            {
                _context.CierreCaja.Add(cierreCaja);
            }
            else
            {
                CierreCaja cierreCajaBD = await ObtenerConsulta().Where(x => x.Id == cierreCaja.Id).FirstOrDefaultAsync();

                if (cierreCaja.Estado == EstadoCaja.Abierta)
                {
                    cierreCajaBD.Abrir(cierreCaja.UsuarioApertura);
                    _context.Ingresos.RemoveRange(cierreCajaBD.Ingresos);
                    _context.Egresos.RemoveRange(cierreCajaBD.Egresos);
                }
                else
                {
                    cierreCajaBD.AgregarEgresos(cierreCaja.Egresos);
                    cierreCajaBD.AgregarIngresos(cierreCaja.Ingresos);
                    cierreCajaBD.Cerrar(cierreCaja.UsuarioCierre, cierreCaja.MontoEnCaja);
                }
            }
            await _context.SaveChangesAsync();
        }
Exemplo n.º 2
0
        private async Task CargarDatosCajaAbiertaAsync()
        {
            Task <List <MovimientoMonto> > egresos  = Task.Run(() => GastoService.Saldo(FechaApertura));
            Task <List <MovimientoMonto> > ingresos = Task.Run(() => VentaService.Saldo(FechaApertura));

            await Task.WhenAll(egresos, ingresos);

            List <Ingresos> ingresosModel = new List <Ingresos>();

            ingresosModel.AddRange(ingresos.Result.Select(x => new Ingresos(x.Id, cierreCajaModel.Id, x.ModificaCaja, x.Concepto, x.Monto)));
            cierreCajaModel.AgregarIngresos(ingresosModel);

            List <Egresos> egresosModel = new List <Egresos>();

            egresosModel.AddRange(egresos.Result.Select(x => new Egresos(x.Id, cierreCajaModel.Id, x.ModificaCaja, x.Concepto, x.Monto)));
            cierreCajaModel.AgregarEgresos(egresosModel);
        }
Exemplo n.º 3
0
        private static async Task CerrarCaja(CierreCaja cierreCaja)
        {
            Task <List <MovimientoMonto> > gastoSaldo = Task.Run(() => GastoService.Saldo(DateTime.Now));
            Task <List <MovimientoMonto> > ventaSaldo = Task.Run(() => VentaService.Saldo(DateTime.Now));

            await Task.WhenAll(gastoSaldo, ventaSaldo);

            List <Ingresos> ingresos = new List <Ingresos>();

            ingresos.AddRange(ventaSaldo.Result.Select(x => new Ingresos(x.Id, cierreCaja.Id, x.ModificaCaja, x.Concepto, x.Monto)));
            cierreCaja.AgregarIngresos(ingresos);

            List <Egresos> egresos = new List <Egresos>();

            egresos.AddRange(gastoSaldo.Result.Select(x => new Egresos(x.Id, cierreCaja.Id, x.ModificaCaja, x.Concepto, x.Monto)));
            cierreCaja.AgregarEgresos(egresos);

            decimal montoEnCaja = ingresos.Where(x => x.ModificaCaja).Sum(x => x.Monto);

            cierreCaja.Cerrar("Automático", montoEnCaja);
        }