public ActionResult EdytujKarta(int id) { var context = new Models.Context(); var program = context.ProgramyStudiow.Where(p => !p.Usuniety.HasValue).FirstOrDefault(p => p.Id == id); var karta = new NowaKarta() { Id = program.Id, WydzialId = program.WydzialId, KierunekId = program.KierunekId, PoziomId = program.PoziomId, ProfilKsztalceniaId = program.ProfilKsztalceniaId, ObszarKsztalceniaId = program.ObszarKsztalceniaId, GrupaPrzedmiotowId = program.GrupaPrzedmiotowId, SemestrId = program.SemestrId, FormaZaliczeniaId = program.FormaZaliczeniaId, WykladowcaId = program.WykladowcaId, NazwaPrzedmiotu = program.Nazwa, SpecjalnoscId = program.SpecjalnoscId, Kod = program.Kod, DoWyboru = program.PrzedmiotDoWyboru, ECTS = program.ECTS }; UzupelnijProgramStudiow(context, karta); karta.Godziny.ForEach(g => { var znanaGodzina = program.LiczbyGodzin.FirstOrDefault(lg => lg.TypLiczbaGodzinId == g.TypLiczbGodzinId); if (znanaGodzina != null) { g.Stacjonarne = znanaGodzina.Stacjonarne; g.Niestacjonarne = znanaGodzina.Niestacjonarne; } }); return(View("NowaKarta", karta)); }
public ActionResult NowaKarta() { var karta = new NowaKarta(); var context = new Models.Context(); UzupelnijProgramStudiow(context, karta); return(View(karta)); }
public ActionResult NowyProgram(NowaKarta nowyProgram) { var context = new Models.Context(); var program = new Program(); if (nowyProgram.Id > 0) { program = context.ProgramyStudiow.Where(p => !p.Usuniety.HasValue).FirstOrDefault(p => p.Id == nowyProgram.Id); } program.WydzialId = nowyProgram.WydzialId; program.KierunekId = nowyProgram.KierunekId; program.PoziomId = nowyProgram.PoziomId; program.ProfilKsztalceniaId = nowyProgram.ProfilKsztalceniaId; program.ObszarKsztalceniaId = nowyProgram.ObszarKsztalceniaId; program.GrupaPrzedmiotowId = nowyProgram.GrupaPrzedmiotowId; program.SemestrId = nowyProgram.SemestrId; program.FormaZaliczeniaId = nowyProgram.FormaZaliczeniaId; program.WykladowcaId = nowyProgram.WykladowcaId; program.Nazwa = nowyProgram.NazwaPrzedmiotu; program.SpecjalnoscId = nowyProgram.SpecjalnoscId; program.Kod = nowyProgram.Kod; program.PrzedmiotDoWyboru = nowyProgram.DoWyboru; program.ECTS = nowyProgram.ECTS; program.LiczbyGodzin.ForEach(lg => { var godzina = nowyProgram.Godziny.FirstOrDefault(g => g.TypLiczbGodzinId == lg.TypLiczbaGodzinId); if (godzina != null) { lg.Stacjonarne = godzina.Stacjonarne < 0 ? 0 : godzina.Stacjonarne; lg.Niestacjonarne = godzina.Niestacjonarne < 0 ? 0 : godzina.Niestacjonarne; } }); nowyProgram.Godziny.Where(godzina => !program.LiczbyGodzin.Any(lg => lg.TypLiczbaGodzinId == godzina.TypLiczbGodzinId)).ForEach(godzina => { program.LiczbyGodzin.Add(new LiczbaGodzin() { TypLiczbaGodzinId = godzina.TypLiczbGodzinId, Stacjonarne = godzina.Stacjonarne < 0 ? 0 : godzina.Stacjonarne, Niestacjonarne = godzina.Niestacjonarne < 0 ? 0 : godzina.Niestacjonarne }); }); if (nowyProgram.Id > 0) { context.Entry(program).State = System.Data.Entity.EntityState.Modified; } else { context.ProgramyStudiow.Add(program); } context.SaveChanges(); return(RedirectToAction("Index")); }
private void UzupelnijProgramStudiow(Models.Context context, NowaKarta karta) { var userID = User.Identity.GetUserId(); var user = context.Users.Include("Wydzialy.Wydzial.Kierunki.Specjalnosci").First(u => u.Id == userID); karta.Wydzialy = user.Wydzialy.Where(w => w.Wydzial.Kierunki.Any(k => k.Specjalnosci.Any())) .Select(w => w.Wydzial).Select(w => new NowaKartaWydzial() { Nazwa = w.Nazwa, Id = w.Id, Kierunki = w.Kierunki .Where(k => k.Specjalnosci.Any()) .Select(k => new NowaKartaKierunek() { Nazwa = k.Nazwa, Id = k.Id, Specjalnosci = k.Specjalnosci .Select(s => new NowaKartaSpecjalnosc() { Nazwa = s.Nazwa, Id = s.Id }) }) } ).ToList(); karta.Poziomy = context.Poziomy.Select(w => new SelectListItem() { Text = w.Nazwa, Value = w.Id.ToString() } ).ToList(); karta.ProfileKsztalcenia = context.ProfileKsztalcenia.Select(w => new SelectListItem() { Text = w.Nazwa, Value = w.Id.ToString() } ).ToList(); karta.ObszaryKsztalcenia = context.ObszaryKsztalcenia.Select(w => new SelectListItem() { Text = w.Nazwa, Value = w.Id.ToString() } ).ToList(); karta.GrupyPrzedmiotow = context.GrupyPrzedmiotow.Select(w => new SelectListItem() { Text = w.Nazwa, Value = w.Id.ToString() } ).ToList(); karta.Semestry = context.Semestry.Select(w => new SelectListItem() { Text = w.Nazwa, Value = w.Id.ToString() } ).ToList(); karta.FormyZaliczenia = context.FormyZaliczenia.Select(w => new SelectListItem() { Text = w.Nazwa, Value = w.Id.ToString() } ).ToList(); karta.Wykladowcy = context.Users.ToList().Select(w => new SelectListItem() { Text = string.Join(" ", w.Tytuly.OrderBy(t => t.Kolejnosc).Select(t => t.Nazwa)) + " " + w.Imie + " " + w.Nazwisko, Value = w.Id.ToString() } ).ToList(); karta.Godziny = context.TypyLiczbGodzin.Select(w => new Godzina() { Stacjonarne = 0, Niestacjonarne = 0, TypLiczbGodzinId = w.Id, Nazwa = w.Nazwa } ).ToList(); }