public void EliminarProyecto(CProyecto p) { if (proyectos.Contains(p)) { proyectos.Remove(p); } }
public void AgregarProyecto(string[] sA, CProyecto p) { foreach (string s in sA) { mapa.Add(s, p); } }
/// <summary> /// Crea un nuevo proyecto para el equipo seleccionado y lo registra en /// el administrador de proyectos. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void rp_btn_RegistrarPro_Click(object sender, RoutedEventArgs e) { // validar que hay un equipo seleccionado int index = rp_lB_Equipos.SelectedIndex; if (index < 0) { MessageBox.Show("Selecciona un equipo.", "Info", MessageBoxButton.OK, MessageBoxImage.Information); } else { // obtener y validar datos string nombre = rp_tB_NombrePro.Text; string desc = rp_tB_DescPro.Text; int cat = rp_cB_Cat.SelectedIndex; string palCla = rp_tB_PalCla.Text; string[] pC = palCla.Split(' '); if (string.IsNullOrEmpty(nombre) || string.IsNullOrEmpty(desc) || cat < 0 || string.IsNullOrEmpty(palCla) || pC.Length < 1 || pC.Length > 5) { MessageBox.Show("Debes llenar todos los campos y especificar entre 1 y 5 palabras clave.", "Info", MessageBoxButton.OK, MessageBoxImage.Information); return; } try { // obtener el equipo seleccionado CEquipo eS = CAdminEquipos.instance.ObtenerEquipo(index); // crear un nuevo CProyecto CProyecto p = new CProyecto(eS, nombre, desc, cat); // agregar proyecto al equipo seleccionado eS.AgregarProyecto(p); // agregar palabras clave y proyecto al admin de busquedas CAdminBusqueda.instance.AgregarProyecto(pC, p); // actualizar el control que muestra los proyectos del equipo seleccionado CUtilities.FillListBox(rp_lB_ProEquiSel, eS.ObtenerProyectos()); // cargar imagen BitmapImage bi = LoadImage(); // si imagen es null, se asigna una por default. if (bi == null) { bi = new BitmapImage(new Uri("pack://application:,,,/FeriaDeCiencia;component/Resources/science-fair2.png")); } // asignar imagen al proyecto p.SetImage(bi); MessageBox.Show("Se agrego el proyecto.", "Info", MessageBoxButton.OK, MessageBoxImage.Information); // limpiar campos rp_tB_NombrePro.Text = string.Empty; rp_tB_DescPro.Text = string.Empty; rp_tB_PalCla.Text = string.Empty; } catch (ArgumentException ex) { MessageBox.Show(ex.Message, "Info", MessageBoxButton.OK, MessageBoxImage.Information); } } }
public void AgregarProyecto(CProyecto p) { if (proyectos.Count >= 3) { throw new ArgumentException("El equipo ya tiene 3 proyectos."); } proyectos.Add(p); }
/// <summary> /// Muestra los detalles del proyecto que esta seleccionado en la lista /// de resultados de busqueda de proyectos. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bp_lB_Pro_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { // obtener proyecto seleccionado int index = bp_lB_Pro.SelectedIndex; if (index >= 0) { // llenar campos con detalles del proyecto CProyecto p = CAdminBusqueda.instance.resBus[index]; bp_tB_NombrePro.Text = p.nombre; bp_tB_DescPro.Text = p.descripcion; bp_tB_CatPro.Text = p.categoria.ToString(); bp_img_ImgPro.Source = p.image; CUtilities.FillListBox(bp_lB_Integrantes, p.equipo.ObtenerIntegrantes()); } } catch { } }