Exemple #1
0
 /// <summary>
 /// Process a request from the service for new asunto
 /// </summary>
 /// <param name="a"></param>
 private void newAsuntoFromService(Asunto a)
 {
     try {
         // Generamos un objeto de logica para procesar el agregado de los asuntos
         Logica.Asunto logAsunto = new Logica.Asunto();
         // Gestionamos una variable operador disponible para el método
         Operador operLogged = App.Current.Properties["user"] as Operador;
         // Si el operador al que era destino de este asunto no es el logueado, se lanza una excepción
         if (a.Oper.UserName != operLogged.UserName)
         {
             throw new Exception("Se ha recibido un asunto de un operador erroneo. Informar al administrador. Asunto: " + a.Numero + ". Operador: " + a.Oper.UserName);
         }
         // TODO : A modo de prueba inicial, el primer estado lo generamos en la capa de presentación. Esto debería ser generado en el servicio, para mantener fidelidad con el horario de entrada del asunto en bandeja
         generateInitialStatusOfAsunto(a);
         // Consultamos si el asunto en cuestion existe en la base de datos del operador
         if (!logAsunto.Exist(a))
         {
             // Si no existe, se agrega a la base de datos
             logAsunto.Add(a);
             // Actualizamos la capa de presentación y los casos diarios
             NotifyUIOfNewAsunto(a.Numero, false);
         }
     }
     catch (Exception ex) {
         Except.Throw(ex);
     }
 }
Exemple #2
0
 private void txtNumAsunto_TextChanged(object sender, TextChangedEventArgs e)
 {
     // Si se comprueba que el número de asunto tiene el largo maximo del textbox (indica que esta completo)
     if (txtNumAsunto.Text.Length == txtNumAsunto.MaxLength && txtNumAsunto.IsEnabled)
     {
         // Comprobamos que ls validaciones sean correctas para poder avanzar con la consulta a la base de datos
         if (Validador.EsValido(txtNumAsunto))
         {
             try
             {
                 // Generamos un objeto de logica asunto para averiguar si el asunto está cargado
                 Logica.Asunto logAsunto = new Logica.Asunto();
                 // Generamos un asunto que contenga solo este número cargado
                 Entidades.Asunto entAsunto = new Entidades.Asunto()
                 {
                     Numero = txtNumAsunto.Text, Oper = App.Current.Properties["user"] as Entidades.Operador
                 };
                 // Ejecutamos la consulta a la base de datos con el valor del campo cargado
                 if (logAsunto.Exist(entAsunto))
                 {
                     if (Util.MsgBox.Consulta("El asunto " + txtNumAsunto.Text + " se encuentra cargado. ¿Deseas traer el asunto guardado?") == true)
                     {
                         // Traemos el asunto y todos sus campos en la página de asuntos.
                         GestionarModificacionAsunto(txtNumAsunto.Text);
                     }
                 }
             }
             catch (Exception ex)
             {
                 Util.MsgBox.Error("Ha ocurrido un error al traer la información de la base de datos: " + ex.Message);
             }
         }
     }
 }