Ejemplo n.º 1
0
 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);
                }
            }
        }
Ejemplo n.º 4
0
 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 { }
 }