} // end Imprimir

        /// <summary>
        /// Imprime el corte, cierra la sesión y sale del sistema
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CerrarSesionButton_Click(object sender, EventArgs e)
        {
            AppHelper.DoMethod(delegate
            {
                //  Solicitamos confirmación del cierre de sesión
                if (AppHelper.Confirm("¿Realmente desea cerrar la sesión?") == System.Windows.Forms.DialogResult.Yes)
                {
                    //  Mandamos imprimir el corte
                    Imprimir();


                    // Cerrar la sesión

                    //  Obtenemos el registro de la sesión actual
                    Entities.Sesiones sesion = Entities.Sesiones.Read(Sesion.Sesion_ID);

                    //  Desactivamos
                    sesion.Activo = false;

                    //  Configuramos fecha final
                    sesion.FechaFinal = DB.GetDate();

                    //  Actualizamos la base de datos
                    sesion.Update();

                    //  Cerramos el sistema
                    Padre.Close();
                } // end if
            }, this);
        }         // end Click
Ejemplo n.º 2
0
        public void GuardaCorte()
        {
            //if (cortecaja.Declaraciones.Count == 0)
            //{
            //    GeneraDeclaraciones();
            //}
            bool ok = false;

            AppHelper.DoTransactions(
                delegate
            {
                foreach (classes.Entities.caja.DeclaracionValores dv in cortecaja.Declaraciones)
                {
                    ok = false;
                    SICASv20.classes.Interfaces.DeclaracionValores.GuardaDeclaracion(dv);
                    SICASv20.classes.Interfaces.DeclaracionValores.GuardaDetalleEfectivo(dv);
                    SICASv20.classes.Interfaces.DeclaracionValores.GuardaDetalleVales(dv);
                    SICASv20.classes.Interfaces.DeclaracionValores.GuardaDetalleVouchers(dv);
                    ok = true;
                }
            }
                , this);

            if (ok)
            {
                int idx = 1;
                foreach (classes.Entities.caja.DeclaracionValores dv in cortecaja.Declaraciones)
                {
                    ok = false;
                    SICASv20.classes.Interfaces.DeclaracionValores.Imprimir(dv, idx);
                    SICASv20.classes.Interfaces.DeclaracionValores.Imprimir(dv, idx);
                    ok = true;
                    idx++;
                }
                // Cerrar la sesión
                Entities.Sesiones sesion = Entities.Sesiones.Read(Sesion.Sesion_ID);
                sesion.Activo     = false;
                sesion.FechaFinal = DB.GetDate();
                sesion.Update();
                Sesion.Activo = false;
                SICASv20.forms.SICASForm fp = (SICASv20.forms.SICASForm) this.ParentForm;
                fp.SwitchForma("ReporteTicketsDeSesion");
                Application.Exit();
            }
        }
Ejemplo n.º 3
0
        }         // end ImprimirTicketDeCorte

        /// <summary>
        /// Realiza el corte de caja, lo imprime y sale del sistema
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CorteButton_Click(object sender, EventArgs e)
        {
            //  Solicitamos confirmación
            if (AppHelper.Confirm("¿Realmente desea efectuar el corte de caja?") == System.Windows.Forms.DialogResult.Yes)
            {
                AppHelper.DoMethod(delegate
                {
                    // Imprimir el ticket las veces
                    //  que este configurado

                    //  Obtenemos el registro de la caja actual
                    Entities.Cajas caja = Entities.Cajas.Read(Sesion.Caja_ID.Value);

                    //  Si tiene impresión doble
                    if (caja.ImpresionDoble.Value)
                    {
                        //  Imprimimos dos veces
                        ImprimirTicketDeCorte();
                        ImprimirTicketDeCorte();
                    }
                    else                     // Si no
                    {
                        //  Imprimimos solo una vez
                        ImprimirTicketDeCorte();
                    }

                    // Cerrar la sesión
                    //  Obtenemos el registro de la sesión actual
                    Entities.Sesiones sesion = Entities.Sesiones.Read(Sesion.Sesion_ID);

                    //  Desactivamos
                    sesion.Activo = false;

                    //  Configuramos fecha final
                    sesion.FechaFinal = DB.GetDate();

                    //  Actualizamos en la base de datos
                    sesion.Update();

                    //  Salimos del sistema
                    Application.Exit();
                }, this);
            } // end if
        }     // end Click