예제 #1
0
        private void ActualizarDineroActual()
        {
            var dineroActual = CierreCajaRepository.MaxiKioscosEntities.CierreCajaCantidadDineroActual(UsuarioActual.CierreCajaIdActual).FirstOrDefault();

            lblDineroEnCaja.Text = String.Format("${0}", dineroActual.GetValueOrDefault().ToString("N2"));

            var cajaInicial = CierreCajaRepository.Obtener(UsuarioActual.CierreCajaIdActual);

            lblCajaInicial.Text = String.Format("${0}", cajaInicial.CajaInicial.ToString("N2"));
        }
예제 #2
0
        public static async Task GuardarAsync(CierreCaja cierreCaja)
        {
            CierreCajaValidador validador          = new CierreCajaValidador();
            ValidationResult    validadorResultado = validador.Validate(cierreCaja);

            if (!validadorResultado.IsValid)
            {
                throw new NegocioException(string.Join(Environment.NewLine, validadorResultado.Errors.Select(x => x.ErrorMessage)));
            }

            CierreCajaRepository cierreCajaRepository = new CierreCajaRepository(new Context());
            await cierreCajaRepository.GuardarAsync(cierreCaja);
        }
예제 #3
0
        private void tsmiAbrirCaja_Click(object sender, EventArgs e)
        {
            //Verifico que no hayan cierres de caja abiertos y que haya una caja inicial
            var cajaFinalAnterior = CierreCajaRepository.MaxiKioscosEntities.CierreCajaUltimaCajaFinal(AppSettings.MaxiKioscoId).FirstOrDefault();

            if (cajaFinalAnterior == null)
            {
                //No hay cierre de caja: ingreso una caja inicial por ser la primera vez
                var frm = new CajaInicial();
                if (frm.ShowDialog() == DialogResult.OK && AppSettings.MaxiKioscoEstaOnline)
                {
                    _sincronizacionManager.SincronizarEnSegundoPlano(this, bgWorker, tssProgreso);
                }
            }
            else
            {
                var cierre = new CierreCaja
                {
                    CajaInicial  = cajaFinalAnterior.GetValueOrDefault(),
                    FechaInicio  = DateTime.Now,
                    Identifier   = Guid.NewGuid(),
                    MaxiKioskoId = AppSettings.MaxiKioscoId,
                    UsuarioId    = UsuarioActual.UsuarioId
                };
                CierreCajaRepository.Agregar(cierre);
                CierreCajaRepository.Commit();
                EventosFlags.CierreCajaEstado    = CierreCajaEstadoEnum.Abierto;
                UsuarioActual.CierreCajaIdActual = cierre.CierreCajaId;
                MessageBox.Show("La caja se ha abierto correctamente");
                ToggleExcepcionesHabilitado();
                if (AppSettings.MaxiKioscoEstaOnline)
                {
                    _sincronizacionManager.SincronizarEnSegundoPlano(this, bgWorker, tssProgreso);
                }
            }
            ToggleAccionesRelacionadasACierreDeCaja();
            ControlarCierreCaja();
        }
예제 #4
0
        private void CheckUltimaCajaCerrada()
        {
            if (EventosFlags.CierreCajaEstado == CierreCajaEstadoEnum.Abierto)
            {
                var ultimaCaja = CierreCajaRepository.Obtener(c => c.CierreCajaId == UsuarioActual.CierreCajaIdActual,
                                                              c => c.Usuario);

                if (ultimaCaja.UsuarioId != UsuarioActual.UsuarioId)
                {
                    var confirmation = new ConfirmationForm(string.Format(Resources.MensajeCerrarCajaAnterior, ultimaCaja.Usuario.NombreCompleto),
                                                            Resources.TextoAceptar, Resources.TextoCancelar);

                    if (confirmation.ShowDialog() == DialogResult.OK)
                    {
                        CerrarCaja(cancel: Logoff, controlarMargenes: false, cerrarSesion: false);
                    }
                    else
                    {
                        //Cerrar session
                        Logoff();
                    }
                }
            }
        }
예제 #5
0
        private void ActualizarDineroActual()
        {
            var cajaInicial = CierreCajaRepository.Obtener(UsuarioActual.CierreCajaIdActual);

            lblCajaInicial.Text = String.Format("${0}", cajaInicial.CajaInicial.ToString("N2"));
        }
예제 #6
0
        public static Task <List <CierreCaja> > ObtenerCajaCerradaAbiertas()
        {
            CierreCajaRepository cierreCajaRepository = new CierreCajaRepository(new Context());

            return(cierreCajaRepository.ObtenerCajaCerradaAbiertas());
        }
예제 #7
0
        public static Task <List <CierreCaja> > Buscar(DateTime fechaDesdes, DateTime fechaHasta, string usuario, string ordenadoPor, DireccionOrdenamiento direccionOrdenamiento, int pagina, int elementosPorPagina, out int totalElementos)
        {
            CierreCajaRepository cierreCajaRepository = new CierreCajaRepository(new Context());

            return(cierreCajaRepository.Buscar(fechaDesdes, fechaHasta, usuario, ordenadoPor, direccionOrdenamiento, pagina, elementosPorPagina, out totalElementos));
        }
예제 #8
0
        public static Task <CierreCaja> Obtener(DateTime fecha)
        {
            CierreCajaRepository cierreCajaRepository = new CierreCajaRepository(new Context());

            return(cierreCajaRepository.Obtener(fecha));
        }