static void Agregar(Object t) { using (var db = new DAL.UniversityContext()) { switch(t.GetType().Name) { case "Student": { var result = LeerDatos(t); db.Students.Add((Student)result); db.SaveChanges(); Console.WriteLine("guardado con exito"); break; } case "Inscripcion": { var result = LeerDatos(t); db.Inscripciones.Add((Inscripcion)result); db.SaveChanges(); Console.WriteLine("guardado con exito"); break; } case "Materia": { var result = LeerDatos(t); db.Materias.Add((Materia)result); db.SaveChanges(); Console.WriteLine("guardado con exito"); break; } case "Catedratico": { var result = LeerDatos(t); db.Catedraticos.Add((Catedratico)result); db.SaveChanges(); Console.WriteLine("guardado con exito"); break; } } } }
static void Main(string[] args) { int op=0; do { Console.Clear(); Console.WriteLine("HOMEWORK"); Console.WriteLine("1. ESTUDIANTE"); Console.WriteLine("2. INSCRIPCION"); Console.WriteLine("3. MATERIA"); Console.WriteLine("4. CATEDRATICO"); Console.WriteLine("5. RECORD"); Console.WriteLine("6. MATERIAS RESTANTES"); Console.WriteLine("7. LISTA POR CURSO Y MATERIA"); Console.WriteLine("8. LISTA CATEDRATICOS"); Console.WriteLine("9. SALIR"); Console.WriteLine("Ingrese una opcion"); op=Convert.ToInt32(Console.ReadLine()); switch(op) { case 1: { #region Estudiantes int op1=0; Student st = new Student(); do { int cont = 1; Console.Clear(); foreach (var item in Enum.GetValues(typeof(Operaciones))) { Console.WriteLine(cont.ToString()+". " + item); cont++; } op1 = Convert.ToInt32(Console.ReadLine()); switch(op1) { case 1: { Agregar(st); break; } case 2: {//actualizar using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese nombre:"); var nombre = Console.ReadLine(); Student stu = db.Students.Where(s => s.Nombre == nombre).Single<Student>(); Console.WriteLine("Ingrese Telefono:"); stu.Telefono = Convert.ToInt32(Console.ReadLine()); db.SaveChanges(); } break; } case 3: {//eliminar using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese nombre:"); var nombre = Console.ReadLine(); var result = (from b in db.Students where b.Nombre == nombre select b).First(); db.Students.Remove(result); db.SaveChanges(); } break; } case 4: { //leer using(var db = new DAL.UniversityContext()) { var query = from b in db.Students select b; foreach (var aux in query) { Console.WriteLine(aux.StudentId.ToString() + " " + aux.Nombre + " " + aux.Paterno + " " + aux.Materno + " " + aux.Telefono.ToString() + " "); } } break; } } Console.ReadKey(); } while (op1 < 5); break; #endregion } case 2: { #region Inscripciones int op1 = 0; Inscripcion ins = new Inscripcion(); do { int cont = 1; Console.Clear(); foreach (var item in Enum.GetValues(typeof(Operaciones))) { Console.WriteLine(cont.ToString() + ". " + item); cont++; } op1 = Convert.ToInt32(Console.ReadLine()); switch (op1) { case 1: { using (var db = new DAL.UniversityContext()) { Agregar(ins); } break; } case 2: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese Cod Student:"); var cod = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Ingrese Cod Materia:"); var materia = Convert.ToInt32(Console.ReadLine()); Inscripcion st = db.Inscripciones.Where(s => s.StudentId == cod).Single<Inscripcion>(); //st.MateriaId = materia; db.SaveChanges(); } break; } case 3: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese cod student:"); var nombre = Convert.ToInt32( Console.ReadLine()); var result = (from b in db.Inscripciones where b.StudentId == nombre select b).First(); db.Inscripciones.Remove(result); db.SaveChanges(); } break; } case 4: { using (var db = new DAL.UniversityContext()) { var query = from b in db.Inscripciones select b; foreach (var aux in query) { //Console.WriteLine(aux.InscripcionId.ToString() + " " + aux.StudentId.ToString() + " " + aux.MateriaId.ToString() + " "+aux.Semestre.ToString()); } } break; } } Console.ReadKey(); } while (op1 < 5); break; #endregion } case 3: { #region Materias int op1 = 0; Materia mat = new Materia(); do { int cont = 1; Console.Clear(); foreach (var item in Enum.GetValues(typeof(Operaciones))) { Console.WriteLine(cont.ToString() + ". " + item); cont++; } op1 = Convert.ToInt32(Console.ReadLine()); switch (op1) { case 1: { using (var db = new DAL.UniversityContext()) { Agregar(mat); } break; } case 2: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese nombre de la materia:"); var nombre = Console.ReadLine(); Console.WriteLine("Ingrese Nro de creditos:"); var carga = Convert.ToInt32(Console.ReadLine()); Materia st = db.Materias.Where(s => s.Nombre == nombre).Single<Materia>(); st.Nro_Creditos = carga; db.SaveChanges(); } break; } case 3: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese Nombre de la materia:"); var nombre = Console.ReadLine(); var result = (from b in db.Materias where b.Nombre == nombre select b).First(); db.Materias.Remove(result); db.SaveChanges(); } break; } case 4: { using (var db = new DAL.UniversityContext()) { var query = from b in db.Materias select b; foreach (var aux in query) { Console.WriteLine(aux.MateriaId.ToString() + " " + aux.Nombre + " " +aux.Nro_Creditos.ToString()); } } break; } } Console.ReadKey(); } while (op1 < 5); break; #endregion } case 4: { #region Catedraticos int op1 = 0; Catedratico cat = new Catedratico(); do { int cont = 1; Console.Clear(); foreach (var item in Enum.GetValues(typeof(Operaciones))) { Console.WriteLine(cont.ToString() + ". " + item); cont++; } op1 = Convert.ToInt32(Console.ReadLine()); switch (op1) { case 1: { Agregar(cat); break; } case 2: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese nombre del catedratico:"); var nombre = Console.ReadLine(); Console.WriteLine("Ingrese apellido paterno:"); var carrera = Console.ReadLine(); Catedratico st = db.Catedraticos.Where(s => s.Nombre == nombre).Single<Catedratico>(); st.Paterno = carrera; db.SaveChanges(); } break; } case 3: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese Nombre:"); var nombre = Console.ReadLine(); var result = (from b in db.Catedraticos where b.Nombre == nombre select b).First(); db.Catedraticos.Remove(result); db.SaveChanges(); } break; } case 4: { using (var db = new DAL.UniversityContext()) { var query = from b in db.Catedraticos select b; foreach (var aux in query) { Console.WriteLine(aux.CatedraticoId.ToString() + " " + aux.Nombre + " " + aux.Paterno ); } } break; } } Console.ReadKey(); } while (op1 < 5); break; #endregion } case 5: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese codigo de estudiante");//codigo estudiante int st = Convert.ToInt32(Console.ReadLine()); var result = (from d in db.Inscripciones from g in db.Cursos from c in db.Materias from t in db.Notas where d.StudentId == st && g.CursoId == d.CursoId && c.MateriaId == g.MateriaId && t.InscripcionId == d.InscripcionId select new { Materia=c.Nombre, NotaFinal = t.NotaFinal ,t.Estado}).Distinct(); foreach (var item in result) { Console.WriteLine(item.Materia + " " + item.NotaFinal+ " "+item.Estado); } } break; } case 6: {//regresa materias restantes using (var db = new DAL.UniversityContext()) { int id=Convert.ToInt32(Console.ReadLine()); //string nom = Console.ReadLine(); var subquery = from c in db.Students from d in db.Inscripciones from t in db.Cursos from p in db.Materias where c.StudentId == id && d.StudentId == c.StudentId && d.CursoId == t.CursoId && t.MateriaId == p.MateriaId select p.MateriaId; var query = from l in db.Materias where l.CarreraId==1 && !subquery.Contains(l.MateriaId) select l.Nombre; foreach (var item in query) { Console.WriteLine(item); } } break; } case 7: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Introduzca el Id del curso"); int id=Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Introduzca el nombre de la materia"); string nom = Console.ReadLine(); var result = from d in db.Inscripciones from c in db.Students from t in db.Cursos where d.StudentId == c.StudentId && t.CursoId == d.CursoId && t.CursoId == id select new { CursoId=t.CursoId,Alumno=c.Nombre+" "+c.Paterno }; Console.WriteLine("Por curso:" + id.ToString()); foreach (var item in result) { Console.WriteLine( item.Alumno); } var res = from d in db.Inscripciones from c in db.Students from t in db.Cursos from p in db.Materias where d.StudentId == c.StudentId && t.CursoId == d.CursoId && p.MateriaId == t.MateriaId &&p.Nombre==nom select new { p.Nombre, Alumno = c.Nombre + " " + c.Paterno }; Console.WriteLine("Por materia:" + nom); foreach (var item in res) { Console.WriteLine( item.Alumno); } } break; } case 8: { using (var db = new DAL.UniversityContext()) { Console.WriteLine("Ingrese nombre de la carrera"); string nombre=Console.ReadLine(); var result = (from d in db.Catedraticos from c in db.Cursos from t in db.Materias from p in db.Carreras where d.CatedraticoId == c.CatedraticoId && c.MateriaId == t.MateriaId && t.CarreraId == p.CarreraId && p.Nombre == nombre select new { Nombre = d.Nombre, Paterno = d.Paterno }).Distinct(); Console.WriteLine("Lista de docentes pertenecientes a: " + nombre); foreach (var item in result) { Console.WriteLine(item.Nombre+" "+item.Paterno); } } break; } } Console.ReadKey(); } while (op < 9); }
public UniversityContextService(UniversityContext context) { _context = context; }