/// <summary>
        /// Registra un nuevo equipo.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void re_btn_RegE_Click(object sender, RoutedEventArgs e)
        {
            // validar datos
            string n = re_tB_NombreE.Text;
            string f = re_tB_FraseE.Text;

            if (string.IsNullOrEmpty(n) || string.IsNullOrEmpty(f))
            {
                MessageBox.Show("Revisa los datos.", "Info", MessageBoxButton.OK,
                                MessageBoxImage.Information);
                return;
            }
            // crear nuevo objeto CEquipo
            CEquipo nE = new CEquipo(n, f);

            // agregar equipo a la lista de equipos
            CAdminEquipos.instance.AgregarEquipo(nE);
            // limpiar campos
            re_tB_NombreE.Text = string.Empty;
            re_tB_FraseE.Text  = string.Empty;
            // actualizar los controles que muestran a los equipos actuales
            CUtilities.FillListBox(re_lB_Equipos, CAdminEquipos.instance.ListaEquipos());
            CUtilities.FillListBox(rp_lB_Equipos, CAdminEquipos.instance.ListaEquipos());
            MessageBox.Show("Se agrego el equipo.", "Info", MessageBoxButton.OK,
                            MessageBoxImage.Information);
        }
        /// <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);
                }
            }
        }
예제 #3
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     // llenar listboxes
     CUtilities.FillListBox(lB_Equipos, CAdminEquipos.instance.ListaEquipos());
     if (CAdminEquipos.instance.ListaEquipos().Count > 0)
     {
         CUtilities.FillListBox(lB_Integrantes, CAdminEquipos.instance.ObtenerEquipo(0).
                                ObtenerIntegrantes());
     }
 }
예제 #4
0
        private void lB_Equipos_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // actualizar listbox de integrantes
            int index = lB_Equipos.SelectedIndex;

            if (index >= 0)
            {
                CEquipo eS = CAdminEquipos.instance.ObtenerEquipo(index);
                CUtilities.FillListBox(lB_Integrantes, eS.ObtenerIntegrantes());
            }
        }
        /// <summary>
        /// Actualiza el listbox que muestra los integrantes del equipo que esta
        /// seleccionado en el listbox de equipos.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void re_lB_Equipos_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            int index = re_lB_Equipos.SelectedIndex;

            if (index >= 0)
            {
                CEquipo eS = CAdminEquipos.instance.ObtenerEquipo(index);
                CUtilities.FillListBox(re_lB_Integrantes, eS.ObtenerIntegrantes());
                eS = null;
            }
        }
        /// <summary>
        /// Actualiza el listbox que muestra los proyectos del equipo que
        /// esta seleccionado en el listbox de equipos.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void rp_lB_Equipos_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            int index = rp_lB_Equipos.SelectedIndex;

            if (index >= 0)
            {
                CEquipo eS = CAdminEquipos.instance.ObtenerEquipo(index);
                try
                {
                    CUtilities.FillListBox(rp_lB_ProEquiSel, eS.ObtenerProyectos());
                }
                catch { }
                finally { eS = null; }
            }
        }
        /// <summary>
        /// Registra un nuevo integrante para el equipo seleccionado.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void re_btn_NuevoRegistrar_Click(object sender, RoutedEventArgs e)
        {
            // validar datos
            if (re_lB_Equipos.SelectedIndex < 0)
            {
                MessageBox.Show("Selecciona un equipo.", "Info", MessageBoxButton.OK,
                                MessageBoxImage.Information);
                return;
            }
            string nombre  = re_tB_NuevoNombre.Text;
            string id      = re_tB_NuevoCarne.Text;
            string carrera = re_tB_NuevoCarrera.Text;

            if (string.IsNullOrEmpty(nombre) || string.IsNullOrEmpty(id) || string.IsNullOrEmpty(carrera))
            {
                MessageBox.Show("Revisa los datos.", "Info", MessageBoxButton.OK,
                                MessageBoxImage.Information);
                return;
            }
            // crear nuevo alumno
            CAlumno nA = new CAlumno(nombre, id, carrera);

            try
            {
                // tratar de agregar, si ya existe, se lanza una Excepcion
                CAdminAlumnos.instance.AgregarAlumno(nA);
            }
            catch (ArgumentException)
            {
                MessageBox.Show("El no. de carne esta asociado a otro alumno ya existente.", "Info",
                                MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            CEquipo eSeleccionado = CAdminEquipos.instance.ObtenerEquipo(re_lB_Equipos.SelectedIndex);

            eSeleccionado.AgregarIntegrante(nA);
            // actualizar controles que muestran a los alumnos
            CUtilities.FillListBox(re_lB_Integrantes, eSeleccionado.ObtenerIntegrantes());
            // limpiar campos
            re_tB_NuevoNombre.Text  = string.Empty;
            re_tB_NuevoCarne.Text   = string.Empty;
            re_tB_NuevoCarrera.Text = string.Empty;
            nA = null;
        }
 /// <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 { }
 }
 /// <summary>
 /// Busca proyectos por palabras clave y los muestra los resultados.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void bp_btn_Buscar_Click(object sender, RoutedEventArgs e)
 {
     // validar datos
     string[] palCla = bp_tB_PalCla.Text.Split(' ');
     if (palCla.Length == 0)
     {
         MessageBox.Show("Debes introducir al menos una palabra clave para buscar.", "Info",
                         MessageBoxButton.OK, MessageBoxImage.Information);
         return;
     }
     try
     {
         CAdminBusqueda.instance.BuscarProyecto(palCla);
         CUtilities.FillListBox(bp_lB_Pro, CAdminBusqueda.instance.resBus);
     }
     catch (ArgumentException)
     {
         MessageBox.Show("No se encontro proyecto con esos datos.", "Info", MessageBoxButton.OK,
                         MessageBoxImage.Information);
         bp_lB_Pro.Items.Clear();
     }
 }
 /// <summary>
 /// Allow only letters in a textbox.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void TextValidationLetters(object sender, TextCompositionEventArgs e)
 {
     e.Handled = !CUtilities.TextOnlyLetters(e.Text);
 }