public TiempoComprometido(int tiempoInicial, int tiempoFinal,Trazas unaTraza) { TiempoInicial = tiempoInicial; TiempoFinal = tiempoFinal; Traza = unaTraza; }
/* * Caso de Uso: 'Agregar Traza' */ private void agregarTraza() { string errorStr = ""; if(!Util.EsAlfaNumerico(txtTraCreNombre.Text)) { errorStr += "Nombre: Incompleto ó Incorrecto\n"; } if (clbTraCreServicios.CheckedItems.Count == 0) { errorStr += "La traza no tiene servicios seleccionados\n"; } if (errorStr.Length == 0) { try { Trazas nuevaTraza = new Trazas(); nuevaTraza.Nombre = txtTraCreNombre.Text; foreach (Servicios s in clbTraCreServicios.CheckedItems) { nuevaTraza.AgregarServicio(s); } context.Trazas.Add(nuevaTraza); context.SaveChanges(); cargarTrazas(); limpiarFormularioCrear(); MessageBox.Show("Traza Guardada"); } catch (Exception exc) { MessageBox.Show("Traza No Guardada\n\nError\n\n" + exc.Message); } } else { MessageBox.Show(errorStr); } }
/* * Caso de Uso: 'Modificar Traza' */ private void modificarTraza() { string errorStr = ""; if (!Util.EsAlfaNumerico(txtTraModNombre.Text)) { errorStr += "Nombre: Incompleto/Incorrecto\n"; } if (clbTraModServicios.CheckedItems.Count == 0) { errorStr += "La traza no tiene servicios seleccionados.\n"; } if (errorStr.Length == 0) { try { trazaSeleccionada = (Trazas)lstTraModTrazas.SelectedItem; trazaSeleccionada.Nombre = txtTraModNombre.Text; //borro las relaciones existentes en la base de datos context.Trazas_X_Servicios.Where(x => x.Id_Traza == trazaSeleccionada.Id).ToList().ForEach(y => context.Trazas_X_Servicios.Remove(y)); //agrego la configuracion del checklistbox foreach (Servicios s in clbTraModServicios.CheckedItems) { trazaSeleccionada.AgregarServicio(s); } context.SaveChanges(); txtTraModBuscar.Clear(); MessageBox.Show("Las modificaciones han sido guardadas."); cargarTrazas(); limpiarFormularioModificar(); } catch(Exception exc) { MessageBox.Show("Las modificaciones NO han sido guardadas.\n\nError\n\n" + exc.Message); } } else { MessageBox.Show(errorStr); } }
/* * Evento que sucede cuando se selecciona una Traza de la lista para modificar */ private void seleccionarTraza(object sender, EventArgs e) { if (lstTraModTrazas.SelectedIndex > -1) { habilitarModificar(); trazaSeleccionada = (Trazas)lstTraModTrazas.SelectedItem; txtTraModNombre.Text = trazaSeleccionada.Nombre; for (int i = 0; i < clbTraModServicios.Items.Count; i++) { clbTraModServicios.SetItemChecked(i, false); } foreach (Servicios s in trazaSeleccionada.ServiciosDisponibles) { clbTraModServicios.SetItemChecked(clbTraModServicios.Items.IndexOf(s), true); } } }
/* * Caso de Uso: 'Eliminar Traza' */ private void eliminarTraza() { string errorMsj = ""; trazaSeleccionada = (Trazas)lstTraEliTrazas.SelectedItem; if (lstTraEliTrazas.SelectedItem == null) { errorMsj += "No se ha seleccionado ninguna traza para eliminar.\n"; } else if(context.Simulaciones.Any(x => x.Id_Traza == trazaSeleccionada.Id)) { errorMsj += "La traza no puede eliminarse porque pertenece a una simulación.\n"; } if (string.IsNullOrEmpty(errorMsj)) { try { if (MessageBox.Show("La traza se eliminará de manera permanente. ¿Desea continuar?", "", MessageBoxButtons.OKCancel) == DialogResult.Cancel) return; trazaSeleccionada = (Trazas)lstTraEliTrazas.SelectedItem; //borro todos los servicios asignados a la traza context.Trazas_X_Servicios.Where(x => x.Id_Traza == trazaSeleccionada.Id).ToList().ForEach(y => context.Trazas_X_Servicios.Remove(y)); context.Trazas.Remove(trazaSeleccionada); context.SaveChanges(); cargarTrazas(); limpiarFormularioCrear(); limpiarFormularioModificar(); txtTraEliBuscar.Clear(); txtTraCreBuscar.Clear(); txtTraModBuscar.Clear(); MessageBox.Show("Traza Eliminada"); } catch (Exception exc) { MessageBox.Show("La traza No ha sido eliminada.\n\nError:\n\n" + exc.Message); } } else { MessageBox.Show(errorMsj); } }