private void btnAceptar_Click(object sender, EventArgs e)
        {
            var caja = new Caja();
            caja.Id = Guid.NewGuid();
            caja.SucursalId = 1;
            caja.OperadorId = Context.OperadorActual.Id;
            caja.Fecha = _clock.Now;
            caja.Inicio = Inicio;
            caja.Efectivo = 0;
            caja.Ingresos = 0;
            caja.Saldo = 0;
            caja.Vales = 0;
            caja.Egresos = 0;
            caja.Cheques = 0;
            caja.Bonos = 0;
            caja.ValesReal = 0;
            caja.EfectivoReal = 0;
            caja.PcAlta = System.Environment.MachineName;
            caja.FechaAlta = _clock.Now;
            caja.OperadorAltaId = Context.OperadorActual.Id;
            caja.SucursalId = Context.SucursalActual.Id;
            caja.SucursalAltaId = Context.SucursalActual.Id;
            caja.Aprobada = false;

            Uow.Cajas.Agregar(caja);
            Uow.Commit();
        }
        private void ControlCaja()
        {
            _caja = Uow.Cajas.Listado().Where(c => c.OperadorId == Context.OperadorActual.Id && c.FCierre == null).FirstOrDefault();
            if (_caja == null)
            {
                // no existe caja de ese usuario, se debe abrir una
                MessageBox.Show("Debe abrir una caja.");

                btnPagos.Enabled = false;
                BtnEgresos.Enabled = false;

            }
            //else if (_caja.FechaAlta.Value.Date < _clock.Now.Date)
            //{
            //    // estamos en las 16hs y se debe forzar el cierre de caja y la apertura de una nueva.
            //    MessageBox.Show("Debe abrir una caja.");
            //    DeshabilitarControlesPago();
            //    CerrarCaja(_caja);

            //    btnPagos.Enabled = false;

            //}
            else if ((_caja.FechaAlta.Value.Hour < 16 && _clock.Now.Hour > 15)||(_caja.FechaAlta.Value.Date != _clock.Now.Date))
            {
                // estamos en las 16hs y se debe forzar el cierre de caja y la apertura de una nueva.
                MessageBox.Show("Debe abrir una caja.");
                DeshabilitarControlesPago();
                CerrarCaja(_caja);
                btnPagos.Enabled = false;
                BtnEgresos.Enabled = false;
            }

            else
            {
                HabilitarControlesCajaAbierta();
            }
        }
        private void CargarEntidad(Guid cajaid)
        {
            if (cajaid == default(Guid))
            {
                _caja = new Caja();
                _caja.Id = Guid.NewGuid();
                return;
            }
            else
            {
                _caja = Uow.Cajas.Obtener(c => c.Id == cajaid);
            }

            this.FechaAlta = _caja.FechaAlta;
            this.FechaCierre = _caja.FCierre;
            Inicio = _caja.Inicio;
            Ingreso = _caja.Ingresos;
            Egreso = _caja.Egresos;
            Efectivo = _caja.Efectivo;
            Vales = _caja.Vales;
            EfectivoReal = _caja.EfectivoReal;
            ValesReal = _caja.ValesReal;
        }