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
        internal async Task CerraCajaAsync()
        {
            cierreCajaModel.Cerrar(Sesion.Usuario.Alias, MontoCierreCaja);
            await CierreCajaService.GuardarAsync(cierreCajaModel);

            NotifyPropertyChanged(nameof(Estado));
        }
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);
        }