public async Task <KursProsireniModel> Add(KursProsireniModel model) { try { // Warnign: ne radi se provjera da li tagovi stvarno postoje već ukoliko su lažni dodje do exceptiona var noviKurs = _mapper.Map <Kurs>(model); _context.Kurs.Add(noviKurs); foreach (var tag in model.Tagovi) { _context.KursTag.Add(new KursTag { Kurs = noviKurs, TagId = tag.Id }); } await _context.SaveChangesAsync(); var returnModel = _mapper.Map <KursProsireniModel>(noviKurs); returnModel.Tagovi = new List <TagModel>(); model.Tagovi.ForEach(t => returnModel.Tagovi.Add(new TagModel { Id = t.Id, Naziv = t.Naziv })); return(returnModel); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <KursProsireniModel> Update(int id, KursProsireniModel model) { try { var kurs = _context.Kurs .Include(k => k.TagoviKursa) .ThenInclude(tk => tk.Tag) .Where(k => k.Id == id) .FirstOrDefault(); _context.Set <Kurs>().Attach(kurs); _context.Set <Kurs>().Update(kurs); //_mapper.Map(model, kurs); ne prolazi zbog id-a pa cu manual kurs.Naziv = model.Naziv; kurs.SkraceniNaziv = model.SkraceniNaziv; kurs.Opis = model.SkraceniNaziv; foreach (var postojeciKurs in kurs.TagoviKursa) { _context.KursTag.Remove(postojeciKurs); } foreach (var noviTag in model.Tagovi) { _context.KursTag.Add(new KursTag { Kurs = kurs, TagId = noviTag.Id }); } await _context.SaveChangesAsync(); var returnModel = _mapper.Map <KursProsireniModel>(kurs); returnModel.Tagovi = new List <TagModel>(); model.Tagovi.ForEach(t => returnModel.Tagovi.Add(new TagModel { Id = t.Id, Naziv = t.Naziv })); return(returnModel); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <ActionResult> UpdateOsoblje(int id, [FromBody] KursProsireniModel model) { try { if (ModelState.IsValid) { var item = await _kursService.Update(id, model); return(Ok(item)); } else { return(BadRequest(model)); } } catch (Exception ex) { return(BadRequest(new ApiException(ex.Message, System.Net.HttpStatusCode.BadRequest))); } }
private async void btnPotvrdi_Click(object sender, EventArgs e) { try { if (ValidateChildren()) { var insertModel = new KursProsireniModel { Naziv = txtNaziv.Text, Opis = txtOpis.Text, SkraceniNaziv = txtSkraceniNaziv.Text, Tagovi = new List <TagModel>() }; foreach (var selectedItem in listTagovi.CheckedItems) { var item = selectedItem as TagModel; insertModel.Tagovi.Add(item); } KursProsireniModel result = null; if (id != null) { result = await _kursService.Update <KursProsireniModel>(id, insertModel); } else { result = await _kursService.Insert <KursProsireniModel>(insertModel); id = result.Id; } if (result != null) { MessageBox.Show("Operacija uspješna."); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }