/// <summary> /// Crea una instancia. /// </summary> /// <param name="id_articulo">Identificador del Articulo a evaluar</param> public EvaluarArticulo(int id_articulo) { InitializeComponent(); this.id_articulo = id_articulo; try { using (SigeaBD sigeaBD = new SigeaBD()) { articulo = sigeaBD.Articulo.Find(id_articulo); revisorArticulo = sigeaBD.RevisorArticulo.FirstOrDefault( revisorArt => revisorArt.id_revisor == Sesion.Revisor.id_revisor && revisorArt.id_articulo == articulo.id_articulo ); if (revisorArticulo == null) { throw new Exception(); } } } catch (Exception) { MessageBox.Show("Error al establecer una conexión."); Close(); return; } foreach (var gradoExpertiz in Sesion.GRADOS_EXPERTIZ) { gradoExpertizComboBox.Items.Add(gradoExpertiz.Value); } for (int calificacion = Sesion.MIN_CALIFICACION_EVALUACION_ARTICULO; calificacion <= Sesion.MAX_CALIFICACION_EVALUACION_ARTICULO; calificacion++ ) { calificacionComboBox.Items.Add(calificacion); } VerificarExistenciaEvaluacionArticulo(id_articulo); }
/// <summary> /// Verifica si existe un pago en la base de datos. Si se seleccionó una actividad, /// busca un pago relacionado a la actividad con el asistente seleccionado; si no, busca /// un pago relacionado al evento con el asistente seleccionado. /// </summary> /// <returns>true si existe el pago; false si no</returns> private bool VerificarPagoExistente() { try { Asistente asistenteSeleccionado = ((AsistenteTabla)asistentesListView.SelectedItem).Asistente; using (SigeaBD sigeaBD = new SigeaBD()) { Pago pagoBusqueda = null; if (actividadComboBox.SelectedIndex == -1) { pagoBusqueda = sigeaBD.Pago.FirstOrDefault( pago => pago.id_asistente == asistenteSeleccionado.id_asistente && pago.id_evento == Sesion.Evento.id_evento ); } else { Actividad actividadSeleccionada = actividadComboBox.SelectedItem as Actividad; pagoBusqueda = sigeaBD.Pago.FirstOrDefault( pago => pago.id_asistente == asistenteSeleccionado.id_asistente && pago.id_actividad == actividadSeleccionada.id_actividad ); } return(pagoBusqueda != null); } } catch (Exception) { MessageBox.Show("Error al establecer una conexión"); throw; } }
/// <summary> /// Carga la Actividad y sus Presentaciones de la base de datos y muestra sus datos. /// </summary> /// <param name="id_actividad">Identificador de la Actividad</param> private void CargarActividad(int id_actividad) { try { using (SigeaBD sigeaBD = new SigeaBD()) { this.actividad = sigeaBD.Actividad.Find(id_actividad); if (actividad == null) { MessageBox.Show("Error al establecer una conexión."); return; } nombreTextBox.Text = actividad.nombre; costoTextBox.Text = float.Parse(actividad.costo.ToString()).ToString(); tipoActividadComboBox.SelectedItem = actividad.tipo; descripcionTextBox.Text = actividad.descripcion; foreach (Presentacion presentacion in actividad.Presentacion) { var presentacionExistente = new PresentacionTabla { Presentacion = presentacion, Seleccionado = false, Fecha = presentacion.fechaPresentacion.ToString(), HoraInicio = presentacion.horaInicio, HoraFin = presentacion.horaFin, }; presentacionExistente.PropertyChanged += PresentacionTabla_PropertyChanged; PresentacionesObservableCollection.Add(presentacionExistente); } } } catch (Exception) { MessageBox.Show("Error al establecer una conexión."); } }
/// <summary> /// Carga ambas tablas con sus respectivos datos (articulos y organizadores) /// </summary> public void CargarTabla() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var revisores = sigeaBD.Revisor.ToList(); foreach (var revisor in revisores) { RevisoresLista.Add(new RevisorTabla { Revisor = revisor, Nombre = revisor.nombre, Paterno = revisor.paterno, Materno = revisor.materno }); } var articulos = sigeaBD.Articulo.Where( articulo => articulo.Track.id_evento == Sesion.Evento.id_evento && articulo.RevisorArticulo.Count == 0 ).ToList(); foreach (var articulo in articulos) { ArticulosLista.Add(new ArticuloTabla { Articulo = articulo, Titulo = articulo.titulo, Keywords = articulo.keywords }); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } }
/// <summary> /// Asigna el artículo seleccionado a los revisores seleccionados. /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void AsignarButton_Click(object sender, RoutedEventArgs e) { if (!RevisarSeleccion()) { MessageBox.Show("Seleccione un artículo y un revisor"); return; } try { using (SigeaBD sigeaBD = new SigeaBD()) { var articuloSeleccionado = (ArticuloTabla)articulosListView.SelectedItem; foreach (RevisorTabla revisorTabla in revisoresListView.SelectedItems) { sigeaBD.RevisorArticulo.Add(new RevisorArticulo { id_articulo = articuloSeleccionado.Articulo.id_articulo, id_revisor = revisorTabla.Revisor.id_revisor }); } if (sigeaBD.SaveChanges() != 0) { MessageBox.Show("Artículo asignado con éxito"); RevisoresLista.Clear(); ArticulosLista.Clear(); CargarTabla(); } else { MessageBox.Show("No se asignó el artículo"); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } }
/// <summary> /// Realiza la asignación. /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void AsignarButton_Click(object sender, RoutedEventArgs e) { if (VerificarSeleccion()) { try { using (SigeaBD sigeaBD = new SigeaBD()) { var articuloSelec = (ArticuloTabla)articulosListView.SelectedItem; var articuloObtenido = sigeaBD.Articulo.Find(articuloSelec.Articulo.id_articulo); var presentacion = sigeaBD.Presentacion.Find( (presentacionesComboBox.SelectedItem as Presentacion).id_presentacion ); articuloObtenido.Presentacion = new Collection <Presentacion>() { presentacion }; if (sigeaBD.SaveChanges() != 0) { MessageBox.Show("Asignación con éxito"); Close(); } else { MessageBox.Show("No se asignó el articulo"); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } } else { MessageBox.Show("Seleccione un artículo y una presentación"); } }
/// <summary> /// Carga los artículos y las presentaciones de la base de datos. /// </summary> public void CargarDatos() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var articulos = sigeaBD.Articulo.Where( articulo => articulo.Track.Evento.id_evento == Sesion.Evento.id_evento && articulo.Presentacion.Count == 0); foreach (Articulo articulo in articulos) { ListaArticulos.Add(new ArticuloTabla { Articulo = articulo, Titulo = articulo.titulo, KeyWords = articulo.keywords }); } var presentaciones = sigeaBD.Presentacion.Where( presentacion => presentacion.Actividad.id_actividad == id_actividad); foreach (Presentacion presentacion in presentaciones) { presentacionesComboBox.Items.Add(presentacion); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } }
/// <summary> /// Metodo de acción que registra el evento en la base de datos /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void RegistrarButton_Click(object sender, RoutedEventArgs e) { if (VerificarCampos() && VerificarDatos() && VerificarExistencia()) { try { using (SigeaBD sigeaBD = new SigeaBD()) { if (new Evento { nombre = nombreTextBox.Text, sede = sedeTextBox.Text, cuota = Double.Parse(cuotaTextBox.Text), fechaInicio = (DateTime)inicioDataPicker.SelectedDate, fechaFin = (DateTime)finDataPicker.SelectedDate, id_organizador = Sesion.Organizador.id_organizador }.Registrar()) { MessageBox.Show("Evento creado con éxito"); new MenuPrincipal().Show(); this.Close(); } else { MessageBox.Show("No se registró el evento"); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } } }
public void ConsultarGastosPrueba() { using (SigeaBD sigeaBD = new SigeaBD()) { var gastos = sigeaBD.Gasto.Where(gasto => gasto.id_evento == 1); Assert.IsTrue(gastos.Count() > 0); } }
/// <summary> /// Metodo que registra el comite en el sistema /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void RegistrarButton_Click(object sender, RoutedEventArgs e) { if (VerificarCampos() && VerificarDatos() && VerificarExistencia()) { Collection <Organizador> organizadoresSeleccionados = new Collection <Organizador>(); foreach (OrganizadorTabla organizadorTabla in organizadoresListView.SelectedItems) { organizadoresSeleccionados.Add(organizadorTabla.Organizador); } try { var organizador = (Organizador)organizadorComboBox.SelectedItem; using (SigeaBD sigeaBD = new SigeaBD()) { if (new Comite { nombre = nombreTextBox.Text, responsabilidades = responsabilidadesTextBox.Text, id_evento = Sesion.Evento.id_evento, id_organizador = organizador.id_organizador, Organizadores = organizadoresSeleccionados }.Registrar()) { MessageBox.Show("Comité registrado con éxito"); Close(); } else { MessageBox.Show("No se regristró el comité"); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } } }
/// <summary> /// Guarda la tarea. /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void GuardarButton_Click(object sender, RoutedEventArgs e) { if (VerificarCampos() && ValidarDatos() && VerificarExistencia()) { try { using (SigeaBD sigeaBD = new SigeaBD()) { var tareaSeleccionada = sigeaBD.Tarea.Where( tarea => tarea.titulo == this.tarea.titulo ).FirstOrDefault(); tareaSeleccionada.titulo = tituloTextBox.Text; tareaSeleccionada.descripcion = descripcionTextBox.Text; if (sigeaBD.SaveChanges() != 0) { MessageBox.Show("Modificación de la tarea con éxito"); Close(); } else { MessageBox.Show("No se guardó la modificación"); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } } }
/// <summary> /// Metodo que registra al magistral /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void RegistrarButton_Click(object sender, RoutedEventArgs e) { if (VerificarCampos() && VerificarDatos() && VerificarExistencia()) { try { using (SigeaBD sigeaBD = new SigeaBD()) { var actividadObtenida = sigeaBD.Actividad.AsNoTracking().FirstOrDefault( actividad => actividad.nombre == this.nombreActividad && actividad.id_evento == Sesion.Evento.id_evento); if (new Magistral { nombre = nombreTextBox.Text, paterno = paternoTextBox.Text, materno = maternoTextBox.Text, correo = correoTextBox.Text, telefono = telefonoTextBox.Text, lugarOrigen = lugarTextBox.Text, id_actividad = actividadObtenida.id_actividad }.Registrar()) { MessageBox.Show("Magistral registrado con éxito"); Close(); } else { MessageBox.Show("No se registró el magistral"); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } } }
/// <summary> /// Carga de la base de datos los organizadores que no tengan un comité asignado. /// </summary> private void CargarOrganizadores() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var organizadores = sigeaBD.Organizador.Where( organizador => organizador.Comites.FirstOrDefault(comite => comite.id_evento == Sesion.Comite.id_evento) == null && organizador.id_organizador != Sesion.Organizador.id_organizador ); foreach (Organizador organizador in organizadores) { if (organizador.id_organizador == Sesion.Organizador.id_organizador) { continue; } organizadoresComboBox.Items.Add(organizador); } } } catch (EntityException entityException) { Console.WriteLine("EntityException@AsignarOrganizadorComite->CargarOrganizadores() -> " + entityException.Message); MessageBox.Show("Error al establecer una conexión."); } catch (Exception exception) { Console.WriteLine("Exception@AsignarOrganizadorComite->CargarOrganizadores() -> " + exception.Message); MessageBox.Show("Error al establecer una conexión."); } }
/// <summary> /// Metodo que optiene los Eventos a los que esta registrado el organizador /// </summary> public void CargarTabla() { using (SigeaBD sigeaBD = new SigeaBD()) { var listaEventosComoLiderEvento = sigeaBD.Evento.AsNoTracking().Where( evento => evento.id_organizador == Sesion.Organizador.id_organizador ); foreach (Evento evento in listaEventosComoLiderEvento) { EventosLista.Add(new EventoTabla { Evento = evento, Nombre = evento.nombre, Sede = evento.sede, FechaInicio = evento.fechaInicio.ToShortDateString(), FechaFin = evento.fechaFin.Date.ToShortDateString() }); } var listaEventosComoLiderComite = sigeaBD.Evento.AsNoTracking().Where(evento => evento.Comite.Where(comite => comite.id_organizador == Sesion.Organizador.id_organizador ).Count() != 0 ); foreach (Evento evento in listaEventosComoLiderComite) { EventosLista.Add(new EventoTabla { Evento = evento, Nombre = evento.nombre, Sede = evento.sede, FechaInicio = evento.fechaInicio.ToShortDateString(), FechaFin = evento.fechaFin.Date.ToShortDateString() }); } var listaEventosComoOrganizador = sigeaBD.Evento.AsNoTracking().Where( evento => evento.Comite.Where( comite => comite.Organizadores.FirstOrDefault( organizador => organizador.id_organizador == Sesion.Organizador.id_organizador ) != null ).Count() > 0 ); foreach (Evento evento in listaEventosComoOrganizador) { if (EventosLista.Count(eventoTabla => eventoTabla.Evento.id_evento == evento.id_evento) > 0) { continue; } EventosLista.Add(new EventoTabla { Evento = evento, Nombre = evento.nombre, Sede = evento.sede, FechaInicio = evento.fechaInicio.ToShortDateString(), FechaFin = evento.fechaFin.Date.ToShortDateString() }); } } }
public void ActualizarActividadPrueba() { using (SigeaBD sigeaBD = new SigeaBD()) { var actividad = sigeaBD.Actividad.Find(1); actividad.descripcion = "Descripción nueva"; Assert.IsTrue(actividad.Actualizar()); } }
public void ModificarTareasAsignadasPrueba() { using (SigeaBD sigeaBD = new SigeaBD()) { var tarea = sigeaBD.Tarea.Find(1); tarea.descripcion = "Esta tarea fue modificada a modo de prueba"; Assert.IsTrue(sigeaBD.SaveChanges() != 0); } }
/// <summary> /// Accede al panel de administración, dependiendo del rol de la cuenta que inició sesión. /// </summary> /// <param name="sender">Botón</param> /// <param name="e">Evento</param> private void AdministrarButton_Click(object sender, RoutedEventArgs e) { if (eventosListView.SelectedItem != null) { var eventoSeleccionado = (EventoTabla)eventosListView.SelectedItem; try { using (SigeaBD sigeaBD = new SigeaBD()) { var eventoEncontrado = sigeaBD.Evento.AsNoTracking().Where( evento => evento.id_evento == eventoSeleccionado.Evento.id_evento ).FirstOrDefault(); if (eventoEncontrado != null) { Sesion.Evento = eventoEncontrado; if (eventoEncontrado.id_organizador == Sesion.Organizador.id_organizador) { new PanelLiderEvento().Show(); } else { Sesion.Comite = sigeaBD.Comite.AsNoTracking().Where( comite => comite.id_organizador == Sesion.Organizador.id_organizador && comite.id_evento == eventoEncontrado.id_evento ).FirstOrDefault(); if (Sesion.Comite != null) { new PanelLiderComite().Show(); } else { Sesion.Comite = sigeaBD.Comite.AsNoTracking().Where( comite => comite.Organizadores.FirstOrDefault( organizador => organizador.id_organizador == Sesion.Organizador.id_organizador ) != null ).FirstOrDefault(); if (Sesion.Comite == null) { throw new Exception(); } new PanelOrganizador().Show(); } } Close(); } else { throw new Exception(); } } } catch (Exception ex) { Console.WriteLine(ex); MessageBox.Show("Error al seleccionar el evento."); } } else { MessageBox.Show("Selecciona un evento de la tabla."); } }
public void ConsultarAsistentesEventoPrueba() { using (SigeaBD sigeaBD = new SigeaBD()) { var evento = sigeaBD.Evento.Find(1); var asistentes = evento.Asistente.Where( asistente => asistente.Pago != null); Assert.IsTrue(asistentes.Count() != 0); } }
public void AsignarArticuloActividadPrueba() { using (SigeaBD sigeaBD = new SigeaBD()) { var articulo = sigeaBD.Articulo.Find(1); var presentacion = sigeaBD.Presentacion.Find(1); presentacion.Articulo.Add(articulo); Assert.IsTrue(sigeaBD.SaveChanges() != 0); } }
/// <summary> /// Verifica si existe un track con el nombre ingresado. /// </summary> /// <returns>true si existe; false si no</returns> private bool VerificarExistencia() { try { using (SigeaBD sigeaBD = new SigeaBD()) { return(sigeaBD.Track.Where(track => track.nombre == nombreTextBox.Text).Count() == 0); } } catch (Exception) { MessageBox.Show("Error al registrar el track."); return(false); } }
public void AsignarOrganizadorPrueba() { Comite comite = new Comite { id_comite = 1 }; using (SigeaBD sigeaBD = new SigeaBD()) { var organizador = sigeaBD.Organizador.Find(1); Assert.IsTrue(comite.AsignarOrganizador(organizador)); } }
/// <summary> /// Verifica si existe un pago relacionado con el artículo. /// </summary> /// <returns>true si existe el pago; false si no</returns> private bool VerificarExistenciaPago() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var pagoBusqueda = sigeaBD.Pago.FirstOrDefault(pago => pago.id_articulo == articulo.id_articulo); return(pagoBusqueda != null); } } catch (Exception) { MessageBox.Show("Error al establecer una conexión."); return(true); } }
public void AsignarArticuloRevisorPrueba() { using (SigeaBD sigeaBD = new SigeaBD()) { var articulo = sigeaBD.Articulo.Find(1); var revisor = sigeaBD.Revisor.Find(1); sigeaBD.RevisorArticulo.Add(new RevisorArticulo { id_articulo = articulo.id_articulo, id_revisor = revisor.id_revisor }); Assert.IsTrue(sigeaBD.SaveChanges() != 0); } }
/// <summary> /// Carga los organizadores de la base de datos y los coloca en una lista. /// </summary> private void CargarOrganizadores() { try { using (SigeaBD sigeaBD = new SigeaBD()) { organizadores = sigeaBD.Organizador.AsNoTracking().Where( organizador => organizador.id_organizador != Sesion.Organizador.id_organizador ).ToList(); } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } }
/// <summary> /// Carga las actividades pertenecientes al evento. /// </summary> private void CargarActividades() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var actividades = sigeaBD.Actividad.Where(actividad => actividad.id_evento == Sesion.Evento.id_evento); foreach (var actividad in actividades) { actividadComboBox.Items.Add(actividad); } } } catch (Exception) { MessageBox.Show("Error al establecer una conexión."); Close(); } }
/// <summary> /// Carga los magistrales de la base de datos y los ingresa en el combo box. /// </summary> private void CargarMagistrales() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var magistrales = sigeaBD.Magistral.AsNoTracking().Where( magistral => magistral.Actividad.id_evento == Sesion.Evento.id_evento ); foreach (var magistral in magistrales) { magistralComboBox.Items.Add(magistral); } } } catch (Exception) { MessageBox.Show("Error al establecer una conexión."); Close(); } }
/// <summary> /// Método que carga la tabla de actividades. /// </summary> public void CargarTabla() { using (SigeaBD sigeaBD = new SigeaBD()) { var listaActividades = from actividad in sigeaBD.Actividad.AsNoTracking() where actividad.id_evento == Sesion.Evento.id_evento select actividad; foreach (Actividad actividad in listaActividades) { ActividadesLista.Add(new ActividadTabla { Actividad = actividad, Nombre = actividad.nombre, Tipo = actividad.tipo, Descripcion = actividad.descripcion }); } } }
/// <summary> /// Carga los pagos de la base de datos y los ingresa en la tabla. /// </summary> private void CargarPagos() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var pagos = sigeaBD.Pago.Where(pago => pago.id_actividad == this.actividad.id_actividad); foreach (Pago pago in pagos) { PagosList.Add(new PagoTabla { FechaPago = pago.fecha.ToString("dd/MM/yyyy"), Cantidad = (float) pago.cantidad }); sumaTotal += (float) pago.cantidad; } sumaTotalTextBlock.Text = sumaTotal.ToString(); } } catch (Exception) { MessageBox.Show("Error al cargar el reporte."); } }
/// <summary> /// Carga los comités del evento de la base de datos. /// </summary> private void CargarComites() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var comites = sigeaBD.Comite.Where(comite => comite.Evento.id_evento == id_evento); foreach (var comite in comites) { ComitesLista.Add(new ComiteTabla { Comite = comite, Nombre = comite.nombre, Lider = comite.Organizador.nombre + " " + comite.Organizador.paterno + " " + (comite.Organizador.materno ?? "") }); } } } catch (Exception) { MessageBox.Show("Error al establecer una conexión."); } }
/// <summary> /// cragar la tabla con los asistentes del evento /// </summary> public void CargarTabla() { try { using (SigeaBD sigeaBD = new SigeaBD()) { var evento = sigeaBD.Evento.Find(Sesion.Evento.id_evento); foreach (var asistente in evento.Asistente) { AsistentesLista.Add(new AsistenteTabla { Nombre = asistente.nombre, Paterno = asistente.paterno, Materno = asistente.materno, Correo = asistente.correo }); } } } catch (Exception) { MessageBox.Show("Lo sentimos inténtelo más tarde"); } }