Ejemplo n.º 1
0
        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)));
     }
 }
Ejemplo n.º 3
0
        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);
            }
        }