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