private void Application_Startup(object sender, StartupEventArgs e) { // Configuramos el apagado de la aplicacion, si se deja por defecto luego de cerrar el dialogo de logueo la aplicacion se cierra Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose; // Disponemos de la instancia de la aplicación sin cargar ningun dato relacionado a usuario frmMainFrame MainApp = new frmMainFrame(); // Establecemos como ventana principal la instaciación previa Current.MainWindow = MainApp; // Generamos la nueva instancia de la ventana de logueo frmLogin reqLogUser = new frmLogin(); // Confirmamos si el resultado del dialogo abierto da verdadero if (reqLogUser.ShowDialog() == true) { // Dejamos abierta la propiedad de operador para cualquier entidad que lo requiera App.Current.Properties["user"] = reqLogUser.Operador; MainApp.CargarInformacionUsuario(); MainApp.Show(); } else { Application.Current.Shutdown(); } }
/// <summary> /// Controla si al hacer hacer click en modificar del menu contextual hay algún elemento seleccionado y elimina llegado el caso de confirmación /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mniEliminarAsunto_Click(object sender, RoutedEventArgs e) { if (dgListadoGeneral.SelectedItem != null) { if (Util.MsgBox.Consulta("¿Estás seguro de que deseas eliminar el asunto " + (dgListadoGeneral.SelectedItem as DataRowView)["num_asunto"].ToString()) == true) { try { // Generamos un objeto de lógica para procesar la solicitud de baja Logica.Asunto logAsunto = new Logica.Asunto(); // Generamos un nueva entidad de asunto que será cargada con los datos requieridos para que la baja se procese Entidades.Asunto entAsunto = new Entidades.Asunto() { Numero = (dgListadoGeneral.SelectedItem as DataRowView)["num_asunto"].ToString(), Oper = App.Current.Properties["user"] as Entidades.Operador }; // Procesamos el pedido de baja utilizando el objeto de lógica logAsunto.Remove(entAsunto); // Informamos que la baja fue procesada Util.MsgBox.Error("Se ha procesado la baja del asunto de manera correcta."); // Recargamos el resumen de tickets mensuales CargarResumenTicketsMensuales(); // Disponemos del objeto de ventana principal frmMainFrame ventPrincip = App.Current.MainWindow as frmMainFrame; // Actualizamos los asuntos diarios cargados ventPrincip.CargarAsuntosDiarios(); } catch (Exception ex) { Util.MsgBox.Error("No se ha podido completar la baja del asunto : " + ex.Message); } } } }
/// <summary> /// Solicita a la capa de presentación que cargue los datos de un asunto para que puedan ser modificados en la pestaño de asuntos /// Fecha de creación : 17/07/2018 /// Autor : Maximiliano Leiva /// </summary> private void ModificarAsuntoSeleccionado() { if (dgListadoGeneral.SelectedItem != null) { // Corroboramos que este correctamente cargado la variable MainWindow if (App.Current.MainWindow != null) { // Disponemos del objeto de ventana principal frmMainFrame ventPrincip = App.Current.MainWindow as frmMainFrame; // Convertimos la variable hacia el tipo de ventana principal, para asi disponer de sus métodos PaginaAsunto pgAsunto = ventPrincip.pagAsunto; // Convertimos el número de asunto a String String sNumAsunto = (dgListadoGeneral.SelectedItem as DataRowView)["num_asunto"].ToString(); // Si se completa la carga de campos de manera correcta, cambiamos la pestaña a la correspondiente if (pgAsunto.GestionarModificacionAsunto(sNumAsunto)) { // Cambiamos la ficha hacia la de asuntos para poder continuar con la edición ventPrincip.tbcMainControl.SelectedIndex = 1; } } } }