} // 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
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(); } }
} // 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