예제 #1
0
 //FUNCIONES
 //NOS AYUDAR A CARGAR LOS CAMPOS
 //ATRAVES DEL PARAMETRO OBJETO ESTUDIANTECURSO
 private void cargarCampos(EstudiantesCurso c)
 {
     txtObservacion.Text       = c.Observaciones;
     cbUsuario.SelectedValue   = c.Id_usuario.ToString();
     cbCurso.SelectedValue     = c.Id_curso;
     cbPuntuacion.SelectedItem = c.Puntuacion.ToString();
     dtpFechaInicio.Value      = c.Fecha_inicio;
 }
예제 #2
0
        public static EstudiantesCurso RecuperarInscripcion(int id_curso, int id_usuario)
        {
            EstudiantesCurso est            = new EstudiantesCurso();
            string           cadenaConexion = System.Configuration.ConfigurationManager.AppSettings["CadenaDB"];
            SqlConnection    cn             = new SqlConnection(cadenaConexion);

            try
            {
                SqlCommand cmd      = new SqlCommand();
                string     consulta = "SELECT ID_USUARIO,ID_CURSO,FECHA_INICIO,FECHA_FIN,PUNTUACION,OBSERVACIONES FROM USUARIOSCURSO WHERE ID_CURSO=@ID_CURSO AND ID_USUARIO=@ID_USUARIO";

                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@ID_CURSO", id_curso);
                cmd.Parameters.AddWithValue("@ID_USUARIO", id_usuario);
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = consulta;

                cn.Open();
                cmd.Connection = cn;

                SqlDataReader dr = cmd.ExecuteReader();


                if (dr.Read() && dr != null)
                {
                    est.Id_curso      = int.Parse(dr["id_curso"].ToString());
                    est.Id_usuario    = int.Parse(dr["id_usuario"].ToString());
                    est.Observaciones = dr["observaciones"].ToString();
                    est.Fecha_inicio  = DateTime.Parse(dr["fecha_inicio"].ToString());

                    est.Fecha_inicio = DateTime.Parse(dr["fecha_inicio"].ToString());

                    est.Puntuacion = int.Parse(dr["puntuacion"].ToString());
                }
            }
            catch
            {
                throw;
            }
            finally
            {
                cn.Close();
            }
            return(est);
        }
예제 #3
0
        private void dgvInscripcion_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (ban == true || guardar == 1)
            {
                Habilitar(false);
                ban     = false;
                guardar = 0;
            }
            btnEditar.Enabled = true;
            btnBorrar.Enabled = true;

            string           id_curso   = dgvInscripcion.CurrentRow.Cells[1].Value.ToString();
            string           id_usuario = dgvInscripcion.CurrentRow.Cells[0].Value.ToString();
            EstudiantesCurso est        = AD_Inscripcion.RecuperarInscripcion(int.Parse(id_curso), int.Parse(id_usuario));

            LimpiarCampos();
            cargarCampos(est);
        }
예제 #4
0
        private void btnBorrar_Click(object sender, EventArgs e)
        {
            //SI NO SELECCIONO UNA INSCRIPCION
            if (cbUsuario.SelectedIndex.Equals(-1) || cbCurso.SelectedIndex.Equals(-1))
            {
                MessageBox.Show("Por favor seleccion una inscripcion a eliminar");
            }
            //SI SELECCIONO UNA INSCRIPCION
            else
            {
                //OBTENER INSCRIPCION SELECCIONADA
                EstudiantesCurso est = obtenerInscripcion();
                //OBTIENE CURSO SELECIONADO PARA MOSTRAR NOMBRE
                Curso curso = AD_Curso.RecuperarCurso(est.Id_curso);
                if (MessageBox.Show("Está seguro que desea eliminar la inscripcion del legajo " + cbUsuario.Text + " en el curso " + curso.Nombre + "?",
                                    "Eliminado",
                                    MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button2)
                    == DialogResult.Yes)
                {
                    //ELIMINA EL AVANCE YA QUE TIENE UNA PK
                    //DEPENDIENTE DE INSCRIPCION
                    bool res = AD_AvanceCurso.EliminarAvance(est.Id_curso, est.Id_usuario, est.Fecha_inicio);;
                    if (res)
                    {   //Y POR ULTIMO ELIMINAR EL CURSO
                        AD_Inscripcion.EliminarInscripcion(est.Id_curso, est.Id_usuario);
                    }
                    else
                    //SI NO SE PUEDO ELIMINAR EL AVANCE
                    //NO ELIMINA LA INSCRIPCION
                    {
                        MessageBox.Show("Error al eliminar Inscripcion");
                    }
                }


                LimpiarCampos();
                CargarGrilla();
                ban = false;
                this.Habilitar(false);
                guardar = 0;
            }
        }
예제 #5
0
        private EstudiantesCurso obtenerInscripcion()
        {
            EstudiantesCurso c = new EstudiantesCurso();

            Curso curso = AD_Curso.RecuperarCurso((int)(cbCurso.SelectedValue));

            if (cbPuntuacion.SelectedItem is null)
            {
                c.Puntuacion = 0;
            }
            else
            {
                c.Puntuacion = int.Parse((string )(cbPuntuacion.SelectedItem));
            }

            c.Id_usuario    = (int)cbUsuario.SelectedValue;
            c.Id_curso      = (int)cbCurso.SelectedValue;
            c.Fecha_inicio  = dtpFechaInicio.Value;
            c.Observaciones = txtObservacion.Text.Trim();
            c.Fecha_fin     = curso.Fecha_vigencia;
            return(c);
        }
예제 #6
0
 private void btnGrabar_Click(object sender, EventArgs e)
 {
     if (validarCampos())
     {
         EstudiantesCurso est = obtenerInscripcion();
         //SI EL USUARIO QUIERE CREAR UN CURSO
         if (guardar == 1)
         {
             bool res = AD_Inscripcion.RegistrarTransaccion(est.Id_usuario, est.Id_curso, est.Fecha_inicio, est.Fecha_fin, est.Puntuacion, est.Observaciones);
             if (res)
             {
                 MessageBox.Show("Inscripcion registrada correctamente");
             }
             else
             {
                 MessageBox.Show("Error al registrar inscripcion");
             }
         }
         //SI EL USUARIO DESEA MODIFICAR UN CURSO
         if (guardar == 2)
         {
             bool res = AD_Inscripcion.ModificarInscripcion(est.Id_curso, est.Id_usuario, est.Puntuacion, est.Observaciones);
             if (res)
             {
                 MessageBox.Show("Inscripcion modificada correctamente");
             }
             else
             {
                 MessageBox.Show("Error al modificar inscripcion");
             }
         }
         LimpiarCampos();
         CargarGrilla();
         ban = false;
         this.Habilitar(false);
         guardar = 0;
     }
 }
예제 #7
0
        static void Main(string[] args)
        {
            var cursos      = Data.GetCursos();
            var estudiantes = Data.GetEstudiantes();

            var takeCursos = cursos.TakeLast(3);

            Console.WriteLine("CURSOS TAKE y TAKEWHILE");

            foreach (var item in takeCursos)
            {
                Console.WriteLine($" {item.Codigo} - {item.Nombre}");
            }

            var skipCursos = cursos.SkipLast(2);

            Console.WriteLine("CURSOS SKIP y SKIPWHILE");

            foreach (var item in skipCursos)
            {
                Console.WriteLine($" {item.Codigo} - {item.Nombre}");
            }

            var cursosActivos   = cursos.Where(p => p.Activo);
            var cursosInactivos = cursos.Where(p => !p.Activo);

            var todoslosCursos = cursos.Except(cursosInactivos);

            Console.WriteLine("CURSOS UNION, CONTACT, EXCEPT");

            foreach (var item in todoslosCursos)
            {
                Console.WriteLine($" {item.Codigo} - {item.Nombre}");
            }


            var cursosFiltrada = (from c in cursos
                                  join e in estudiantes on c.CursoId equals e.CursoId
                                  into EstudiantesCurso
                                  from ec in EstudiantesCurso.DefaultIfEmpty()
                                  orderby c.Nombre, c.Codigo
                                  select new { c.Nombre, c.Codigo, CodigoEstudiante = ec?.Codigo });
            var estudiantesFiltrada = estudiantes.OrderByDescending(p => p.CursoId).ThenBy(p => p.Nombre);

            var estudiantesOrdenada = estudiantesFiltrada.ToList().GroupJoin(cursos, e => e.CursoId, c => c.CursoId, (e, c) => new { estudiante = e, curso = c.DefaultIfEmpty() }).Select(p => new { NombreCurso = p.curso.FirstOrDefault() != null ? p.curso.FirstOrDefault().Nombre : "Sin curso", p.estudiante.Codigo, p.estudiante.Nombre, p.estudiante.Apellido }).ToLookup(p => p.NombreCurso);

            Console.WriteLine($"La suma de las primeras letras del nombre es { estudiantes.Aggregate("",(total,p)=> total + p.Nombre[0] + "A" ) }");
            Console.WriteLine($"la suma de todas las edades es: { estudiantes.Sum(p=> p.Edad) }");
            Console.WriteLine($"el estudiante de mayor edad tiene: { estudiantes.Max(p => p.Edad) }");
            Console.WriteLine($"el estudiante de menor edad tiene: { estudiantes.Min(p => p.Edad) }");
            Console.WriteLine($"El promedio de edad de los estudiantes es: {estudiantes.Average(p => p.Edad)}");
            Console.WriteLine($"La cantidad de cursos es: {cursos.LongCount(p=> p.Activo) }");


            var existeEstudianteSeleccionado = estudiantesFiltrada.Contains(estudiantes[5]);

            Console.WriteLine($"¿El Estudiante seleccionado esta en la lista? {existeEstudianteSeleccionado.ToString()}");

            Console.WriteLine(" --  CURSOS Filtrado -- ");
            foreach (var item in cursosFiltrada)
            {
                Console.WriteLine($"     {item.Codigo} - {item.Nombre} - {item.CodigoEstudiante}");
            }
            Console.WriteLine();
            Console.WriteLine(" --  ESTUDIANTES Filtrada-- ");
            foreach (var item in estudiantesOrdenada)
            {
                Console.WriteLine($"Los estudiantes del curso: { item.Key }");

                foreach (var estudiante in item)
                {
                    Console.WriteLine($"        {estudiante.Codigo} - {estudiante.Nombre} {estudiante.Apellido}");
                }
            }

            Console.WriteLine();

            Console.WriteLine(" --  CURSOS -- ");
            foreach (var item in cursos)
            {
                Console.WriteLine($"{item.Codigo} - {item.Nombre}");
            }
            Console.WriteLine();
            Console.WriteLine(" --  ESTUDIANTES-- ");
            foreach (var item in estudiantes)
            {
                Console.WriteLine($"{item.Codigo} - {item.Nombre} {item.Apellido}");
            }

            Console.ReadLine();
        }