예제 #1
0
        /// <summary>
        /// Controla el evento click del botón btVolver, permite volver a la lista de tickets pendientes sin
        /// realizar ninguna acción adicional.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtVolver_Click(object sender, RoutedEventArgs e)
        {
            TicketTecnicoControl ventana = new TicketTecnicoControl(tecnicoActual);

            panelPrincipal.Children.Insert(1, ventana);
            panelPrincipal.Children.RemoveAt(0);
        }
예제 #2
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;
            }
        }