/// <summary>
 /// Asociado al evento click del botón "btAgregar" permite insertar o editar categorías en la base de datos
 /// mostrando un error a través de <see cref="VentanaInformacion"/> en caso de no poder realizar la transacción.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtAgregar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (modoVisualizacion.Equals("insertar"))
         {
             if (tbNombre.Text.Equals(""))
             {
                 VentanaInformacion modal = new VentanaInformacion("Nombre es campo obligatorio", "advertencia");
                 modal.ShowDialog();
             }
             else
             {
                 if (Negocio.CrearTipo(categoriaVentana))
                 {
                     VentanaInformacion modal = new VentanaInformacion("Categoría creada con éxito", "exito");
                     modal.ShowDialog();
                     vistaCategoria.Source = Negocio.ObtenerTipos();
                 }
                 else
                 {
                     VentanaInformacion modal = new VentanaInformacion("Error al crear categoría", "advertencia");
                     modal.ShowDialog();
                 }
             }
         }
         else
         {
             if (tbNombre.Text.Equals(""))
             {
                 if (Negocio.EditarTipo(categoriaVentana))
                 {
                     VentanaInformacion modal = new VentanaInformacion("Categoría actualizada sin cambios.", "exito");
                     modal.ShowDialog();
                     vistaCategoria.Source = Negocio.ObtenerTipos();
                 }
             }
             else
             {
                 if (Negocio.EditarTipo(categoriaVentana))
                 {
                     VentanaInformacion modal = new VentanaInformacion("Categoría actualizada con éxito", "exito");
                     modal.ShowDialog();
                     vistaCategoria.Source = Negocio.ObtenerTipos();
                 }
                 else
                 {
                     VentanaInformacion modal = new VentanaInformacion("Error al actualizar categoría", "advertencia");
                     modal.ShowDialog();
                 }
             }
         }
     }
     catch (IOException error)
     {
         statusBar.Background     = Brushes.IndianRed;
         tbStatusInformation.Text = error.Message;
     }
 }
 /// <summary>
 /// Gestiona el evento click del botón btCrear, para crear un ticket en caso de que se produzca y actualizar la base de datos.
 /// a)sinEtiqueta=true  ->  se crea un ticket con idEquipo=null
 /// b)sinEtiqueta=false -> se crea un ticket con idEquipo=tbServiceTag.Text
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtCrear_Click(object sender, RoutedEventArgs e)
 {
     limpiarBarra();
     try
     {
         if (equipoSinEtiqueta)
         {
             if (Negocio.CrearTicket(new Ticket(0, null, usuario.UsuarioId, DateTime.Now, null, tbDescripcion.Text, "", 1, null, null, "", null, "")))
             {
                 VentanaInformacion modal = new VentanaInformacion("Ticket creado con éxito.", "exito");
                 modal.ShowDialog();
             }
             else
             {
                 VentanaInformacion modal = new VentanaInformacion("Error al crear ticket", "advertencia");
                 modal.ShowDialog();
             }
         }
         else
         {
             if (equipoIdentificado)
             {
                 if (!Negocio.verificarTicketDuplicado(tbServiceTag.Text))
                 {
                     if (Negocio.CrearTicket(new Ticket(0, tbServiceTag.Text, usuario.UsuarioId, DateTime.Now, null, tbDescripcion.Text, null, 1, null, null, null, null, null)))
                     {
                         VentanaInformacion modal = new VentanaInformacion("Ticket creado con éxito.", "exito");
                         modal.ShowDialog();
                     }
                     else
                     {
                         VentanaInformacion modal = new VentanaInformacion("Error al crear ticket", "advertencia");
                         modal.ShowDialog();
                     }
                 }
                 else
                 {
                     VentanaInformacion modal = new VentanaInformacion("El equipo indicado ya tiene un ticket activo.", "advertencia");
                     equipoIdentificado = false;
                     modal.ShowDialog();
                 }
             }
             else
             {
                 VentanaInformacion modal = new VentanaInformacion("SERVICE TAG no verificado, realice comprobación.", "advertencia");
                 modal.ShowDialog();
             }
         }
     }
     catch (IOException error)
     {
         statusBar.Background     = Brushes.IndianRed;
         tbStatusInformation.Text = error.Message;
     }
 }
 /// <summary>
 /// Controla el evento click del botón btFiltrar, para mostrar una vista filtrada de los tickets
 /// según las fechas indicadas en los controles datapicker.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtFiltrar_Click(object sender, RoutedEventArgs e)
 {
     limpiarBarra();
     //Verifica si hay una fecha seleccionada, deben estar las dos, sino  no hay problema.
     if (dtpHasta.SelectedDate == null && dtpDesde.SelectedDate != null || dtpHasta.SelectedDate != null && dtpDesde.SelectedDate == null)
     {
         VentanaInformacion modal = new VentanaInformacion("Para búsqueda por fechas ha de seleccionar ambas fechas", "advertencia");
         modal.ShowDialog();
     }
     else
     {
         MiVista.Filter += Filtrar;
     }
 }
Beispiel #4
0
        /// <summary>
        /// Gestiona el evento click de  BtCrear para crear un ticket a través de <see cref="CrearTicketsAdminControl.crearTicket(int?, string)"/>
        /// verifica el estado del checkbox chbTecnicos y si el idEquipo introducido es correcto para llamar al método.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtCrear_Click(object sender, RoutedEventArgs e)
        {
            limpiarBarra();
            List <string> erroresDetectados = validarCampos();

            if (erroresDetectados.Count == 0)
            {
                if (idEquipoCorrecto)
                {
                    if (chbTecnicos.IsChecked == true)
                    {
                        tecnicoId = int.Parse(cbTecnicosExternos.SelectedItem.ToString().Split('.')[0]);
                        crearTicket(tecnicoId, tbEquipo.Text);
                    }
                    else
                    {
                        tecnicoId = int.Parse(cbTecnicos.SelectedItem.ToString().Split('.')[0]);
                        crearTicket(tecnicoId, tbEquipo.Text);
                    }
                }
                else
                {
                    if (chbTecnicos.IsChecked == true)
                    {
                        tecnicoId = int.Parse(cbTecnicosExternos.SelectedItem.ToString().Split('.')[0]);
                        crearTicket(tecnicoId, null);
                    }
                    else
                    {
                        tecnicoId = int.Parse(cbTecnicos.SelectedItem.ToString().Split('.')[0]);
                        crearTicket(tecnicoId, null);
                    }
                }
            }
            else
            {
                string errores = "";
                foreach (String s in erroresDetectados)
                {
                    errores = errores + s + "\n";
                }
                VentanaInformacion modal = new VentanaInformacion(errores, "advertencia");
                modal.ShowDialog();
            }
        }
Beispiel #5
0
 /// <summary>
 /// Crea un ticket con los datos introducidos en los distintos controles en la base de dato.
 /// </summary>
 /// <param name="tecnico">idTecnico que tiene asignado el ticket</param>
 /// <param name="equipoId">equipoId del ticket, puede ser null</param>
 private void crearTicket(int?tecnico, string equipoId)
 {
     try
     {
         if (Negocio.CrearTicket(new Ticket(0, equipoId, usuarioId, DateTime.Now, null, tbDescripcion.Text, null, (int?)EstadoIncidencia.asignada, null, tecnico, null, 0, null)))
         {
             VentanaInformacion aviso = new VentanaInformacion("Ticket creado con éxito", "exito");
             aviso.ShowDialog();
         }
         else
         {
             VentanaInformacion aviso = new VentanaInformacion("Error al crear ticket.", "advertencia");
             aviso.ShowDialog();
         }
     }
     catch (IOException error)
     {
         statusBar.Background     = Brushes.IndianRed;
         tbStatusInformation.Text = error.Message;
     }
 }
        /// <summary>
        /// Asociada al evento click del botón "btCambiarPassword" permite cambiar la contraseña del usuario, por
        /// una contraseña que contenga al menos una mayúscula, un número y un caracter especial, con una longitud
        /// de entre 8 y 12 caracteres.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtCambiarPassword_Click(object sender, RoutedEventArgs e)
        {
            string expresion;

            expresion = @"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,12}$";
            System.Text.RegularExpressions.Regex automata = new Regex(expresion);
            bool passwordCorrecto = automata.IsMatch(pwRepeat.Password);

            if (pwPassword.Password.Equals(pwRepeat.Password) && passwordCorrecto)
            {
                usuarioActual.Password = Utilidad.CalculateMD5Hash(pwPassword.Password);
                if (Negocio.EditarUsuario(usuarioActual))
                {
                    VentanaInformacion modal = new VentanaInformacion("Contraseña actualizada con éxito", "exito");
                    modal.ShowDialog();
                }
                else
                {
                    VentanaInformacion modal = new VentanaInformacion("Error al actualizar contraseña.", "advertencia");
                    modal.ShowDialog();
                }
            }
            else
            {
                string textoError;

                if (!passwordCorrecto)
                {
                    textoError = "La contraseña debe tener al menos un digito, una mayúscula y un signo. Longitud permitida de 8 a 12 caracteres";
                }
                else
                {
                    textoError = "Las contraseñas no coinciden";
                }

                VentanaInformacion modal = new VentanaInformacion(textoError, "advertencia");
                modal.ShowDialog();
            }
        }
Beispiel #7
0
 /// <summary>
 /// Asociado al eventó click del botón "btExportarCsv" permite exportar las localidades de la base de datos a un archivo .csv
 /// usando <see cref="Utilidad.ExportarCsv(List{object}, string)"/>
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtExportarCSV_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         List <Object> lista = new List <Object>();
         foreach (Localidad u in listaLocalidades)
         {
             lista.Add(u);
         }
         Utilidad.ExportarCsv(lista, "localidad");
     }
     catch (FormatException e1)
     {
         VentanaInformacion modal = new VentanaInformacion(e1.Message, "advertencia");
         modal.ShowDialog();
     }
     catch (Exception error)
     {
         statusBar.Background     = Brushes.IndianRed;
         tbStatusInformation.Text = error.Message;
     }
 }
Beispiel #8
0
        /// <summary>
        /// Asociado al evento click del botón "btExportarCSV" permite exportar todos los equipos de la base de datos a un archivo
        /// CSV, para ello hace uso de <see cref="Utilidad.ExportarCsv(List{object}, string)"/>
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtExportarCSV_Click(object sender, RoutedEventArgs e)
        {
            List <Object> listaAexportar = new List <Object>();

            foreach (Equipo eq in listaEquipos)
            {
                listaAexportar.Add(eq);
            }
            try
            {
                Utilidad.ExportarCsv(listaAexportar, "equipo");
            }
            catch (FormatException e1)
            {
                VentanaInformacion modal = new VentanaInformacion(e1.Message, "advertencia");
                modal.ShowDialog();
            }
            catch (Exception error)
            {
                statusBar.Background     = Brushes.IndianRed;
                tbStatusInformation.Text = error.Message;
            }
        }
Beispiel #9
0
        //--------------------------------------------------------------------------------------FUNCIONES AUXILIARES----------------------------------------------------------------------------

        /// <summary>
        /// Genera un fichero con un código de barras en formato code128, en el directorio Imagenes
        /// con el nombre codigoGenerado.png
        /// </summary>
        private void GenerarEtiqueta()
        {
            string texto = tbEtiqueta.Text;

            if (!tbEtiqueta.Text.Equals(""))
            {
                //    Process.Start(Environment.CurrentDirectory.Replace("bin\\Debug", "") + "Imagenes\\codigoGenerado.png"); para modo debug
                string dataDir = Environment.CurrentDirectory + "\\Imagenes\\codigoGenerado.png";
                if (!File.Exists(dataDir))
                {
                    dataDir = Environment.CurrentDirectory.Replace("bin\\Debug", "") + "Imagenes\\codigoGenerado.png";
                }
                using (var myFile = File.OpenWrite(dataDir))
                {
                    try
                    {
                        // Instantiate object and set differnt barcode properties
                        generator = new BarcodeGenerator(EncodeTypes.Code128, texto);
                        generator.Parameters.Barcode.XDimension.Millimeters = 1f;

                        // Save the image to your system and set its image format to Jpeg
                        generator.Save(myFile, BarCodeImageFormat.Png);
                        generator.Dispose();
                        imgCodigo.Visibility = Visibility.Visible;
                        VentanaInformacion modal = new VentanaInformacion("La etiqueta " + texto + " ha sido generada con éxito", "exito");
                        modal.ShowDialog();
                    }
                    catch (Exception)
                    {
                        VentanaInformacion modal = new VentanaInformacion("Error al generar etiqueta", "advertencia");
                        modal.ShowDialog();
                        imgCodigo.Visibility = Visibility.Hidden;
                    }
                }
            }
        }
        /// <summary>
        /// Asociado al evento click de botón "btActualizar" permite actualizar el ticket que hayamos elegido, con los valores
        /// introducidos, ya sea para finalizarlos o para reasignarlo.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtActualizar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ticket.Resolucion   = tbResolucion.Text;
                ticket.NotasTecnico = tbNotasTecnico.Text;

                if (rbAsignar.IsChecked == true)
                {
                    ticket.TecnicoAsignado = int.Parse(cbTecnicos.SelectedItem.ToString().Split('.')[0]);
                    ticket.Estado          = (int?)EstadoIncidencia.asignada;
                    if (Negocio.EditarTicket(ticket))
                    {
                        VentanaInformacion modal = new VentanaInformacion("Ticket actualizado con éxito", "exito");
                        modal.ShowDialog();
                    }
                    else
                    {
                        VentanaInformacion modal = new VentanaInformacion("Error al actualizar el ticket", "advertencia");
                        modal.ShowDialog();
                    }
                }
                else
                {
                    if (!tbResolucion.Text.Equals(""))
                    {
                        if (cbCategoria.SelectedIndex != -1)
                        {
                            ticket.TecnicoAsignado = Negocio.ObtenerTecnicoIdPorUsuario((int)usuario.UsuarioId);
                            ticket.Estado          = (int?)EstadoIncidencia.finalizada;
                            ticket.Categoria       = Negocio.ObtenerTipoIdPorNombre(cbCategoria.SelectedItem.ToString());
                            if (Negocio.EditarTicket(ticket))
                            {
                                VentanaInformacion modal = new VentanaInformacion("Ticket actualizado con éxito", "exito");
                                modal.ShowDialog();
                            }
                            else
                            {
                                VentanaInformacion modal = new VentanaInformacion("Error al actualizar el ticket", "advertencia");
                                modal.ShowDialog();
                            }
                        }
                        else
                        {
                            VentanaInformacion modal = new VentanaInformacion("Campo categoría debe tener un valor,por favor.", "advertencia");
                            modal.ShowDialog();
                        }
                    }

                    else
                    {
                        VentanaInformacion modal = new VentanaInformacion("Campo resolución debe tener un valor, por favor.", "advertencia");
                        modal.ShowDialog();
                    }
                }
            }
            catch (IOException error)
            {
                statusBar.Background     = Brushes.IndianRed;
                tbStatusInformation.Text = error.Message;
            }
        }
Beispiel #11
0
        /// <summary>
        /// Asociado al evento click del botón btAgregar, permite agregar o actualizar una sede, según el valor que tenga la variable modo
        /// modo= insertar ---> valida la sede y en caso de ser correcta la insertar en la base de datos, si no lo es muestra un error en forma de pantalla emergente <see cref="VentanaInformacion"/>
        /// modeo= editar ----> valida la sede y en caso de ser correcta la actualiza en la base de datos, en caso de no serlo muestra un error en forma de pantalla emergente.
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtAgregar_Click(object sender, RoutedEventArgs e)
        {
            limpiarBarra();
            try
            {
                List <string> errores = ValidarCampos();
                if (errores.Count == 0)
                {
                    if (modoVisualizacion.Equals("insertar"))
                    {
                        if (Negocio.CrearSede(sedeVentana))
                        {
                            VentanaInformacion modal = new VentanaInformacion("Sede Creada con éxito.", "exito");
                            modal.ShowDialog();
                            vistaSedes.Source = Negocio.ObtenerSedes();
                        }
                        else
                        {
                            VentanaInformacion modal = new VentanaInformacion("Error al crear Sede", "advertencia");
                            modal.ShowDialog();
                        }
                    }
                    else
                    {
                        if (tbCalle.Text.Equals(""))
                        {
                            sedeVentana.Calle = sedeAuxiliar.Calle;
                        }

                        if (tbCodigoPostal.Text.Equals(""))
                        {
                            sedeVentana.CodigoPostal = sedeAuxiliar.CodigoPostal;
                        }

                        if (tbPlanta.Text.Equals(""))
                        {
                            sedeVentana.Planta = sedeAuxiliar.Planta;
                        }

                        if (Negocio.EditarSede(sedeVentana))
                        {
                            VentanaInformacion modal = new VentanaInformacion("Sede actualizada con éxito.", "exito");
                            modal.ShowDialog();
                            vistaSedes.Source = Negocio.ObtenerSedes();
                        }
                        else
                        {
                            VentanaInformacion modal = new VentanaInformacion("Error al actualizar Sede", "advertencia");
                            modal.ShowDialog();
                        }
                    }
                }
                else
                {
                    string erroresDetectado = "";

                    foreach (string error in errores)
                    {
                        erroresDetectado += error + "\n";
                    }

                    VentanaInformacion modal = new VentanaInformacion(erroresDetectado, "advertencia");
                    modal.ShowDialog();
                }
            }
            catch (IOException error)
            {
                statusBar.Background     = Brushes.IndianRed;
                tbStatusInformation.Text = error.Message;
            }
        }
Beispiel #12
0
 /// <summary>
 /// Asociado al evento click del botón "btAgregar" permite agregar un usuario a la base de datos , después de validar los datos
 /// <see cref="ValidarCampos"/>, la clave de usuario se codificará  en MD5  usando para ello el método <see cref="Utilidad.CalculateMD5Hash(string)"/>
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtAgregar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (modoVisualizacion.Equals("insertar"))
         {
             List <string> listaErrores = ValidarCampos();
             if (listaErrores.Count == 0)
             {
                 usuario.Password = Utilidad.CalculateMD5Hash(usuario.Password);
                 if (Negocio.CrearUsuario(usuario))
                 {
                     VentanaInformacion modal = new VentanaInformacion("Usuario guardado", "exito");
                     modal.ShowDialog();
                     vistaUsuarios.Source = Negocio.ObtenerUsuarios();
                 }
                 else
                 {
                     VentanaInformacion modal = new VentanaInformacion("Error al insertar usuario", "advertencia");
                     modal.ShowDialog();
                 }
             }
             else
             {
                 string erroresDetectado = "";
                 foreach (string error in listaErrores)
                 {
                     erroresDetectado += error + "\n";
                 }
                 VentanaInformacion modal = new VentanaInformacion(erroresDetectado, "advertencia");
                 modal.ShowDialog();
             }
         }
         else
         {
             if (tbNombre.Text.Equals(""))
             {
                 usuario.Nombre = usuarioOriginal.Nombre;
             }
             if (tbApellidos.Text.Equals(""))
             {
                 usuario.Apellidos = usuarioOriginal.Apellidos;
             }
             if (tbCorreo.Text.Equals(""))
             {
                 usuario.Mail = usuarioOriginal.Mail;
             }
             if (pwPassword.Password.Equals(""))
             {
                 usuario.Password = usuarioOriginal.Password;
             }
             List <string> errores = ValidarCampos();
             if (errores.Count == 0)
             {
                 usuario.Password = Utilidad.CalculateMD5Hash(usuario.Password);
                 if (Negocio.EditarUsuario(usuario))
                 {
                     VentanaInformacion modal = new VentanaInformacion("Usuario actualizado con éxito.", "exito");
                     modal.ShowDialog();
                     vistaUsuarios.Source = Negocio.ObtenerUsuarios();
                 }
                 else
                 {
                     VentanaInformacion modal = new VentanaInformacion("Error al actualizar usuario", "advertencia");
                     modal.ShowDialog();
                 }
             }
             else
             {
                 string erroresDetectado = "";
                 foreach (string error in errores)
                 {
                     erroresDetectado += error + "\n";
                 }
                 VentanaInformacion modal = new VentanaInformacion(erroresDetectado, "advertencia");
                 modal.ShowDialog();
             }
         }
     }
     catch (IOException error)
     {
         statusBar.Background     = Brushes.IndianRed;
         tbStatusInformation.Text = error.Message;
     }
 }
Beispiel #13
0
        /// <summary>
        /// Muestra un cuadro de dialogo que permite seleccionar un archivo CSV,  dependiendo de la entidad pasada como parámetro
        /// genera una lista del tipo que hayamos pasado siempre y cuando el archivo cumpla con el formato correcto y coincidente, en caso contrario
        /// muestra un mensaje de error. Una vez generada la lista, la muestra mediante una ventana modal usando <see cref="impUserModal"/>
        /// </summary>
        /// <param name="tipo"></param>
        public static void ImportarCSv(string tipo)
        {
            try
            {
                // listaUsuarios = negocio.ObtenerUsuarios();
                // Configure open file dialog box
                Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
                dlg.FileName   = "Document";                   // Default file name
                dlg.DefaultExt = ".csv";                       // Default file extension
                dlg.Filter     = "Csv documents (.csv)|*.csv"; // Filter files by extension

                // Show open file dialog box
                Nullable <bool> result = dlg.ShowDialog();

                // Process open file dialog box results
                if (result == true)
                {
                    // Open document
                    string filename = dlg.FileName;

                    String[] lines = File.ReadAllLines(dlg.FileName);
                    if (lines.Length >= 0)
                    {
                        List <Object> lista = new List <Object>();
                        if (tipo.Equals("usuario"))
                        {
                            List <Usuario> listaUsuarios = new List <Usuario>();
                            for (int i = 0; i < lines.Length; i++)
                            {
                                if (!lines[i].Equals(""))
                                {
                                    string[] campos = lines[i].Split(';');

                                    Usuario nuevoUsuario = new Usuario(int.Parse(campos[0]), campos[1], campos[2], campos[3], int.Parse(campos[4]), campos[5], int.Parse(campos[6]), int.Parse(campos[7]));
                                    listaUsuarios.Add(nuevoUsuario);
                                }
                            }
                            lista.Clear();
                            foreach (Usuario u in listaUsuarios)
                            {
                                lista.Add(u);
                            }
                        }
                        else if (tipo.Equals("sede"))
                        {
                            List <Sede> listaSedes = new List <Sede>();
                            for (int i = 0; i < lines.Length; i++)
                            {
                                if (!lines[i].Equals(""))
                                {
                                    string[] campos    = lines[i].Split(';');
                                    Sede     nuevaSede = new Sede(int.Parse(campos[0]), campos[1], campos[2], int.Parse(campos[3]), int.Parse(campos[4]));
                                    listaSedes.Add(nuevaSede);
                                }
                            }
                            lista.Clear();
                            foreach (Sede u in listaSedes)
                            {
                                lista.Add(u);
                            }
                        }
                        else if (tipo.Equals("localidad"))
                        {
                            List <Localidad> listaLocalidades = new List <Localidad>();
                            for (int i = 0; i < lines.Length; i++)
                            {
                                if (!lines[i].Equals(""))
                                {
                                    string[] campos = lines[i].Split(';');

                                    Localidad nuevaLocalidad = new Localidad(int.Parse(campos[0]), campos[1]);
                                    listaLocalidades.Add(nuevaLocalidad);
                                }
                            }
                            lista.Clear();
                            foreach (Localidad u in listaLocalidades)
                            {
                                lista.Add(u);
                            }
                        }
                        else if (tipo.Equals("categoria"))
                        {
                            List <Tipo> listaTipos = new List <Tipo>();
                            for (int i = 0; i < lines.Length; i++)
                            {
                                if (!lines[i].Equals(""))
                                {
                                    string[] campos    = lines[i].Split(';');
                                    Tipo     nuevoTipo = new Tipo(int.Parse(campos[0]), campos[1]);
                                    listaTipos.Add(nuevoTipo);
                                }
                            }
                            lista.Clear();
                            foreach (Tipo u in listaTipos)
                            {
                                lista.Add(u);
                            }
                        }
                        else if (tipo.Equals("equipo"))
                        {
                            List <Equipo> listaEquipos = new List <Equipo>();
                            for (int i = 0; i < lines.Length; i++)
                            {
                                if (!lines[i].Equals(""))
                                {
                                    string[] campos      = lines[i].Split(';');
                                    Equipo   nuevoEquipo = new Equipo(campos[0], campos[1], campos[2], DateTime.Parse(campos[3]), int.Parse(campos[4]), int.Parse(campos[5]), campos[6]);
                                    listaEquipos.Add(nuevoEquipo);
                                }
                            }
                            lista.Clear();
                            foreach (Equipo u in listaEquipos)
                            {
                                lista.Add(u);
                            }
                        }
                        impUserModal modal = new impUserModal(lista, tipo);
                        modal.ShowDialog();
                    }
                }
            }
            catch (IOException)
            {
                VentanaInformacion modal = new VentanaInformacion("Error de lectura de fichero", "advertencia");
                modal.ShowDialog();
            }
            catch (Exception)
            {
                VentanaInformacion modal = new VentanaInformacion("El archivo escogido no es un csv de usuarios", "advertencia");
                modal.ShowDialog();
            }
        }
Beispiel #14
0
 /// <summary>
 /// Asociado al evento click del botón "btAgregar" permite insertar o editar un equipo, en caso de producir un error lo muestra
 /// por pantalla mediante <see cref="VentanaInformacion"/>
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtAgregar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (modoVisualizacion.Equals("insertar"))
         {
             List <string> listaErrores = ValidarCampos();
             if (listaErrores.Count == 0)
             {
                 if (Negocio.CrearEquipo(equipoVentana))
                 {
                     VentanaInformacion modal = new VentanaInformacion("Equipo guardado", "exito");
                     modal.ShowDialog();
                     vistaEquipos.Source = Negocio.ObtenerEquipos();
                 }
                 else
                 {
                     VentanaInformacion modal = new VentanaInformacion("Error al insertar equipo", "advertencia");
                     modal.ShowDialog();
                 }
             }
             else
             {
                 string erroresDetectado = "";
                 foreach (string error in listaErrores)
                 {
                     erroresDetectado += error + "\n";
                 }
                 VentanaInformacion modal = new VentanaInformacion(erroresDetectado, "advertencia");
                 modal.ShowDialog();
             }
         }
         else
         {
             List <string> listaErrores = ValidarCampos();
             if (listaErrores.Count == 0)
             {
                 if (Negocio.EditarEquipo(equipoVentana))
                 {
                     VentanaInformacion modal = new VentanaInformacion("Equipo actualizado con éxito.", "exito");
                     modal.ShowDialog();
                     vistaEquipos.Source = Negocio.ObtenerEquipos();
                 }
                 else
                 {
                     VentanaInformacion modal = new VentanaInformacion("Error al actualizar equipo", "advertencia");
                     modal.ShowDialog();
                 }
             }
             else
             {
                 string erroresDetectado = "";
                 foreach (string error in listaErrores)
                 {
                     erroresDetectado += error + "\n";
                 }
                 VentanaInformacion modal = new VentanaInformacion(erroresDetectado, "advertencia");
                 modal.ShowDialog();
             }
         }
     }
     catch (IOException error)
     {
         statusBar.Background     = Brushes.IndianRed;
         tbStatusInformation.Text = error.Message;
     }
 }
Beispiel #15
0
        /// <summary>
        /// Controla el evento click del botón actualizar, permite actualizar el estado de un ticket de acuerdo con los
        /// valores asignados en los distintos controles.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtActualizar_Click(object sender, RoutedEventArgs e)
        {
            limpiarBarra();
            string estado = cbEstado.SelectedItem.ToString();

            try
            {
                switch (estado)
                {
                case "En Curso":
                    if (permitirEnCurso)
                    {
                        if (tbIdEquipo.Text.Equals(""))
                        {
                            VentanaInformacion advertencia = new VentanaInformacion("Introduzca IdEquipo, si el equipo no tiene pegatina de identificación,recuerde que puede imprimir una desde \"generar código de barras\"", "advertencia");
                            advertencia.ShowDialog();
                        }
                        else
                        {
                            ticketSeleccionado.Estado = 3;                                                                  //Pasamos ticket a estado "en Curso"
                            if (Negocio.EditarTicket(ticketSeleccionado) && permitirEnCurso)
                            {
                                VentanaInformacion modal = new VentanaInformacion("Ticket actualizado con éxito.", "exito");
                                modal.ShowDialog();
                                TicketTecnicoControl ventana = new TicketTecnicoControl(tecnicoActual);
                                panelPrincipal.Children.Insert(1, ventana);
                                panelPrincipal.Children.RemoveAt(0);
                            }
                            else
                            {
                                VentanaInformacion modal = new VentanaInformacion("No se ha podido actualizar el ticket", "advertencia");
                                modal.ShowDialog();
                            }
                        }
                    }
                    else
                    {
                        VentanaInformacion modal = new VentanaInformacion("Transición no válida, no pueden haber dos tickets en curso.", "advertencia");
                        modal.ShowDialog();
                    }

                    break;

                case "Pendiente":
                    Equipo equipoValido = Negocio.ObtenerEquipo(tbIdEquipo.Text);
                    if (tbIdEquipo.Text.Equals("") || equipoValido == null)
                    {
                        if (equipoValido == null)
                        {
                            VentanaInformacion advertencia = new VentanaInformacion("El equipo introducido no existe en la base de datos.", "advertencia");
                            advertencia.ShowDialog();
                        }
                        else
                        {
                            VentanaInformacion advertencia = new VentanaInformacion("Introduzca IdEquipo, si el equipo no tiene pegatina de identificación,recuerde que puede imprimir una desde \"generar código de barras\"", "advertencia");
                            advertencia.ShowDialog();
                        }
                    }
                    else
                    {
                        if (!tbResolucion.Text.Equals(""))
                        {
                            ticketSeleccionado.Estado       = 5;                                                //Pasamos ticket a estado pendiente(5)
                            ticketSeleccionado.NotasTecnico = tbResolucion.Text;
                            if (Negocio.EditarTicket(ticketSeleccionado))
                            {
                                VentanaInformacion modal = new VentanaInformacion("Ticket actualizado con éxito.", "exito");
                                modal.ShowDialog();
                                TicketTecnicoControl ventana = new TicketTecnicoControl(tecnicoActual);
                                panelPrincipal.Children.Insert(1, ventana);
                                panelPrincipal.Children.RemoveAt(0);
                            }
                            else
                            {
                                VentanaInformacion modal = new VentanaInformacion("No se ha podido actualizar el ticket", "advertencia");
                                modal.ShowDialog();
                            }
                        }
                        else
                        {
                            VentanaInformacion modal = new VentanaInformacion("Debe indicar motivo por el que queda pendiente.", "advertencia");
                            modal.ShowDialog();
                        }
                    }
                    break;

                case "Finalizado":
                    if (!tbResolucion.Text.Equals("") && cbCategoria.SelectedItem != null)
                    {
                        ticketSeleccionado.Estado          = 4;                                                                     //Pasamos ticket a estado finalizado(4)
                        ticketSeleccionado.FechaResolucion = DateTime.Now;
                        ticketSeleccionado.Categoria       = Negocio.ObtenerTipoIdPorNombre(cbCategoria.SelectedItem.ToString());
                        ticketSeleccionado.Resolucion      = tbResolucion.Text;
                        if (Negocio.EditarTicket(ticketSeleccionado))
                        {
                            VentanaInformacion modal = new VentanaInformacion("Ticket actualizado con éxito.", "exito");
                            modal.ShowDialog();
                            TicketTecnicoControl ventana = new TicketTecnicoControl(tecnicoActual);
                            panelPrincipal.Children.Insert(1, ventana);
                            panelPrincipal.Children.RemoveAt(0);
                        }
                        else
                        {
                            VentanaInformacion modal = new VentanaInformacion("No se ha podido actualizar el ticket", "advertencia");
                            modal.ShowDialog();
                        }
                    }
                    else
                    {
                        VentanaInformacion modal = new VentanaInformacion("Debe introducir categoria y texto de resolución.", "advertencia");
                        modal.ShowDialog();
                    }
                    break;
                }
            }
            catch (IOException error)
            {
                statusBar.Background     = Brushes.IndianRed;
                tbStatusInformation.Text = error.Message;
            }
        }