Example #1
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);
        }
        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);
        }