Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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)));
            }
        }
Example #4
0
        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);
            }
        }