public ActionResult Delete(int id, FormCollection collection) { SeminarDatum seminarDatum = db.SeminarDatum .Where(sd => sd.Id == id).First(); db.SeminarDatum.Remove(seminarDatum); db.SaveChanges(); return(RedirectToAction("CreateForKolegij", new { id = seminarDatum.KolegijId })); }
public ActionResult CreateForKolegij([Bind(Include = "Id,TerminIzlaganja,KolegijId")] SeminarDatum seminarDatum) { if (ModelState.IsValid) { SeminarDatum newseminarDatum = db.SeminarDatum.Add(seminarDatum); db.SaveChanges(); return(RedirectToAction("CreateForKolegij", new { id = seminarDatum.KolegijId })); } return(RedirectToAction("CreateForKolegij", new { id = seminarDatum.KolegijId })); }
public ActionResult CreateForKolegij(int Id) { IEnumerable <SeminarDatum> datumKolegij = db.SeminarDatum .Where(s => s.KolegijId == Id); SeminarDatum seminarDatum = new SeminarDatum { KolegijId = Id, TerminIzlaganja = DateTime.Now }; SeminarDatumViewModels seminarDatumViewModels = new SeminarDatumViewModels { seminarDatum = seminarDatum, seminarDatumKolegij = datumKolegij.ToList() }; return(View(seminarDatumViewModels)); }
public ActionResult Create([Bind(Include = "Id,TerminIzlaganja,KolegijId")] SeminarDatum seminarDatum) { if (ModelState.IsValid) { SeminarDatum newseminarDatum = db.SeminarDatum.Add(seminarDatum); db.SaveChanges(); return(RedirectToAction("Index")); } { return(View()); } }
// GET: Student/OdaberiKolegij/1 public ActionResult OdaberiKolegij(int kolegijId) { string id = HttpContext.User.Identity.GetUserId(); Student student = db.Student.Where(s => s.UserId == id).FirstOrDefault(); Kolegij odabraniKolegij = db.Kolegij.FirstOrDefault(k => k.Id == kolegijId); Tim timZaKolegij = db.Tims .Join( db.StudentTims, t => t.Id, st => st.TimId, (t, st) => new { tim = t, studentId = st.StudentId } ) .Where(ts => ts.studentId == student.Id) .Select(ts => ts.tim) .FirstOrDefault(t => t.KolegijId == odabraniKolegij.Id); // Kreiranje timSeminarDatumSeminar koji cemo slati nazad kad student sve odabere kroz formu TimSeminarDatumSeminar timSeminarDatumSeminar = new TimSeminarDatumSeminar(); // Trazenje clanova tek kad postoji napravljen kolegij // inace ce ovo dolje 'timZaKolegij.id' baciti gresku jer ne postoji timZaKolegij IEnumerable <Student> clanoviTima = new List <Student>(); Seminar odabraniSeminar = null; SeminarDatum odabraniSeminarDatum = null; if (timZaKolegij != null) { timSeminarDatumSeminar.TimId = timZaKolegij.Id; clanoviTima = db.Student .Join( db.StudentTims, s => s.Id, st => st.StudentId, (s, st) => new { student = s, timId = st.TimId } ) .Where(st => st.timId == timZaKolegij.Id) .Select(st => st.student) .ToList(); // Pronci Seminar ako smo već odabrali odabraniSeminar = db.Seminar .Join( db.TimSeminarDatumSeminars, s => s.Id, tsds => tsds.SeminarId, (s, tsds) => new { seminar = s, timSeminarDatumSeminar = tsds } ) .Where(joinedTables => joinedTables.timSeminarDatumSeminar.TimId == timZaKolegij.Id) .Select(joinedTables => joinedTables.seminar) .FirstOrDefault(); // Pronaci SeminarDatum ako smo već odabrali odabraniSeminarDatum = db.SeminarDatum .Join( db.TimSeminarDatumSeminars, sd => sd.Id, tsds => tsds.VrijemeIzlaganjaId, (sd, tsds) => new { seminarDatum = sd, timSeminarDatumSeminar = tsds } ) .Where(joinedTables => joinedTables.timSeminarDatumSeminar.TimId == timZaKolegij.Id) .Select(joinedTables => joinedTables.seminarDatum) .FirstOrDefault(); } // Dohvacanje svih zauzetih seminara da se mogu filtrirati ostali IEnumerable <Seminar> zauzetiSeminariKolegija = db.Seminar .Where(s => s.KolegijId == kolegijId) .Join( db.TimSeminarDatumSeminars, s => s.Id, tsds => tsds.SeminarId, (s, tsds) => new { seminar = s, timSeminarDatumSeminar = tsds } ) .Select(joinedTables => joinedTables.seminar); // Dohvacanje svi slobodni seminara IEnumerable <SelectListItem> slobodniSeminari = null; if (odabraniSeminar != null) { slobodniSeminari = db.Seminar .Where(s => s.KolegijId == kolegijId) .Where(s => !zauzetiSeminariKolegija.Contains(s) || s.Id == odabraniSeminar.Id) .Select(s => new SelectListItem { Text = s.TemaSeminara, Value = s.Id.ToString() }); } else { slobodniSeminari = db.Seminar .Where(s => s.KolegijId == kolegijId) .Where(s => !zauzetiSeminariKolegija.Contains(s)) .Select(s => new SelectListItem { Text = s.TemaSeminara, Value = s.Id.ToString() }); } // Dohvacanje svih zauzetih datuae da mozemo filtrirati ostale IEnumerable <SeminarDatum> zauzetiDatumiKolegija = db.SeminarDatum .Where(sd => sd.KolegijId == kolegijId) .Join( db.TimSeminarDatumSeminars, sd => sd.Id, tsds => tsds.VrijemeIzlaganjaId, (sd, tsds) => new { seminarDatum = sd, timSeminarDatumSeminar = tsds } ) .Select(joinedTables => joinedTables.seminarDatum); // Dohvacanje svih slobodni seminara IEnumerable <SelectListItem> slobodniSeminarDatumi = null; if (odabraniSeminarDatum != null) { slobodniSeminarDatumi = db.SeminarDatum .Where(sd => sd.KolegijId == kolegijId) .Where(sd => !zauzetiDatumiKolegija.Contains(sd) || sd.Id == odabraniSeminarDatum.Id) .Select(sd => new SelectListItem { Text = sd.TerminIzlaganja.ToString(), Value = sd.Id.ToString() }); } else { slobodniSeminarDatumi = db.SeminarDatum .Where(sd => sd.KolegijId == kolegijId) .Where(sd => !zauzetiDatumiKolegija.Contains(sd)) .Select(sd => new SelectListItem { Text = sd.TerminIzlaganja.ToString(), Value = sd.Id.ToString() }); } // Kreiranje viewModela OdabraniKolegijViewModel odabraniKolegijViewModel = new OdabraniKolegijViewModel { kolegij = odabraniKolegij, seminar = odabraniSeminar, seminarDatum = odabraniSeminarDatum, tim = timZaKolegij, clanoviTima = clanoviTima, dostupniSeminari = slobodniSeminari, dostupniTermini = slobodniSeminarDatumi, timSeminarDatumSeminar = timSeminarDatumSeminar }; return(View(odabraniKolegijViewModel)); }