public async Task <IActionResult> Create(int?id) { GrupaVMs.GrupaCreateVM model = await GetGrupaCreateListItems(); if (id != null && id != 0) { var g = await _db.Grupe.FindAsync(id); if (g != null) { model.GrupaVM = new GrupaVMs.GrupaVM() { GrupaId = g.GrupaId, Naziv = g.Naziv, Status = g.Status, Casova = g.Casova, Cijena = g.Cijena, Pocetak = g.Pocetak, Kraj = g.Kraj, KursId = g.KursId, CentarId = g.CentarId, ZaposlenikId = g.ZaposlenikId, SlikaId = g.SlikaId, }; } } return(PartialView("_Create", model)); }
private async Task <GrupaVMs.GrupaCreateVM> GetGrupaCreateListItems() { GrupaVMs.GrupaCreateVM model = new GrupaVMs.GrupaCreateVM() { Predavaci = await _db.Zaposlenici.AsNoTracking().Select(s => new SelectListItem() { Text = s.Osoba.Ime + " " + s.Osoba.Prezime + " " + (DateTime.Now.Year - s.Osoba.DatumRodjenja.Year), Value = s.ZaposlenikId.ToString() }).ToListAsync(), Slike = await _db.Slike.AsNoTracking().Select(s => new SelectListItem() { Text = s.KursKategorija.Naziv + ": " + s.Naziv, Value = s.SlikaId.ToString() }).ToListAsync(), Kursevi = await _db.Kursevi.AsNoTracking().Select(s => new SelectListItem() { Text = s.KursTip.Naziv + ": " + s.Naziv, Value = s.KursId.ToString() }).ToListAsync(), Centri = await _db.Centri.AsNoTracking().Select(s => new SelectListItem() { Text = s.Grad.Naziv + ": " + s.Naziv, Value = s.CentarId.ToString() }).ToListAsync() }; return(model); }
public async Task <IActionResult> Create(GrupaVMs.GrupaCreateVM model) { ModelState.Remove("GrupaVM.GrupaId"); if (ModelState.IsValid) { Grupa g = new Grupa() { GrupaId = model.GrupaVM.GrupaId, Naziv = model.GrupaVM.Naziv, Status = model.GrupaVM.Status, Casova = model.GrupaVM.Casova, Cijena = model.GrupaVM.Cijena, Pocetak = model.GrupaVM.Pocetak, Kraj = model.GrupaVM.Kraj, KursId = model.GrupaVM.KursId, CentarId = model.GrupaVM.CentarId, ZaposlenikId = model.GrupaVM.ZaposlenikId, SlikaId = model.GrupaVM.SlikaId }; try { string alertDetails = "Uspješno "; if (model.GrupaVM.GrupaId != 0) { _db.Grupe.Attach(g); _db.Entry(g).State = EntityState.Modified; alertDetails += "editovana."; } else { _db.Grupe.Add(g); alertDetails += "dodana u bazu."; } await _db.SaveChangesAsync(); return(StatusCode(201, new { alert = new Alert(Severity.success, alertDetails, $"Grupa: {g.Naziv}") })); } catch (Exception e) { return(BadRequest("Došlo je do greške prilikom snimanja podatka u bazu.; " + e.Message)); } } var tempGrupaVM = model.GrupaVM; model = await GetGrupaCreateListItems(); model.GrupaVM = tempGrupaVM; return(PartialView("_Create", model)); }