private async void btnPotvrdi_Click(object sender, EventArgs e) { try { if (ValidateChildren()) { var updateModel = new KursInstancaUpdateModel { PocetakDatum = datePocetak.Value, PrijaveDoDatum = datePrijaveDo.Value }; if (int.TryParse(txtKapacitet.Text, out int kapacitet)) { updateModel.Kapacitet = kapacitet; } var result = await _kursInstancaService.Update <KursInstancaSimpleModel>(kursInstancaId, updateModel); if (result != null) { MessageBox.Show("Operacija upsješna"); this.DialogResult = DialogResult.OK; this.Close(); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public async Task <ActionResult> UpdateInstanca(int id, KursInstancaUpdateModel model) { try { if (ModelState.IsValid) { return(Ok(await _kursInstancaService.UpdateInstanca(UserResolver.GetUposlenikId(HttpContext.User), id, model))); } else { return(BadRequest(model)); } } catch (Exception ex) { return(BadRequest(new ApiException(ex.Message, System.Net.HttpStatusCode.BadRequest))); } }
public async Task <KursInstancaSimpleModel> UpdateInstanca(int uposlenikId, int id, KursInstancaUpdateModel model) { try { var instanca = _context.KursInstanca.Find(id); if (instanca.UposlenikId != uposlenikId) { throw new Exception("Instanca ne pripada uposleniku."); } if (instanca.KrajDatum?.Date <= DateTime.Now.Date) { throw new Exception("Kurs je već završen."); } if (instanca.PocetakDatum.Date < DateTime.Now.Date) { throw new Exception("Kurs je već započeo."); } if (model.PocetakDatum.Date < DateTime.Now.Date) { throw new Exception("Datum početka ne može biti manji od današnjeg."); } if (model.PrijaveDoDatum.Date > model.PocetakDatum.Date) { throw new Exception("Krajnji rok za prijave ne može biti noviji od datuma početka."); } var brojStudenata = _context.KlijentKursInstanca.Where(k => k.KursInstancaId == instanca.Id).Count(); if (model.Kapacitet != null && brojStudenata > model.Kapacitet) { throw new Exception("Kapacitet ne može biti niži od trenutnog broja upisanih studenata."); } if (model.Kapacitet != null && model.Kapacitet <= 0) { throw new Exception("Kapacitet ne može biti manji ili jednak nuli."); } instanca.Kapacitet = model.Kapacitet; instanca.PocetakDatum = model.PocetakDatum.Date; instanca.PrijaveDoDatum = model.PrijaveDoDatum.Date; await _context.SaveChangesAsync(); return(new KursInstancaSimpleModel { KursInstancaId = instanca.Id, UposlenikId = instanca.UposlenikId }); } catch (Exception ex) { throw new Exception(ex.Message); } }