public IActionResult Create(VrstaStavke vrstaStavke)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    //tražim slijedeći key
                    var query  = ctx;
                    int zadnji = query.VrstaStavkes.AsNoTracking().Count();
                    query = ctx;
                    var query2 = query.VrstaStavkes.AsQueryable();
                    int Id     = query2.OrderBy(d => d.IdVrste).Skip(zadnji - 1).Select(d => d.IdVrste).First() + 1;
                    vrstaStavke.IdVrste = Id;

                    ctx.Add(vrstaStavke);
                    ctx.SaveChanges();
                    TempData[Constants.Message]       = $"Vrsta stavke {vrstaStavke.NazivVrste} uspješno dodana";
                    TempData[Constants.ErrorOccurred] = false;

                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception exc)
                {
                    ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                    return(View(vrstaStavke));
                }
            }
            else
            {
                return(View(vrstaStavke));
            }
        }
예제 #2
0
        public async Task <IActionResult> Create(VrstaStavkeViewModel model)
        {
            VrstaStavke vrstaStavke = new VrstaStavke
            {
                IdVrste    = model.IdVrste,
                NazivVrste = model.NazivVrste
            };

            ctx.Add(vrstaStavke);
            await ctx.SaveChangesAsync();

            var addedItem = await Get(vrstaStavke.IdVrste);

            return(CreatedAtAction(nameof(Get), new { id = vrstaStavke.IdVrste }, addedItem.Value));
        }
        public async Task <IActionResult> Update(int Id, int page = 1, int sort = 1, bool ascending = true)
        {
            try
            {
                VrstaStavke vrstaStavke = await ctx.VrstaStavkes
                                          .Where(d => d.IdVrste == Id)
                                          .FirstOrDefaultAsync();

                if (vrstaStavke == null)
                {
                    return(NotFound($"Ne postoji vrsta stavke s Id: {Id}"));
                }

                if (await TryUpdateModelAsync <VrstaStavke>(vrstaStavke, "", d => d.NazivVrste
                                                            ))
                {
                    ViewBag.Page      = page;
                    ViewBag.Sort      = sort;
                    ViewBag.Ascending = ascending;
                    try
                    {
                        await ctx.SaveChangesAsync();

                        TempData[Constants.Message]       = $"Vrsta stavke {Id} uspješno ažurirana";
                        TempData[Constants.ErrorOccurred] = false;
                        return(RedirectToAction(nameof(Index), new { page = page, sort = sort, ascending = ascending }));
                    }
                    catch (Exception exc)
                    {
                        ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                        return(View(vrstaStavke));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Podatke o vrsti stavke nije moguće povezati s forme");
                    return(View(vrstaStavke));
                }
            }
            catch (Exception exc)
            {
                TempData[Constants.Message]       = exc.CompleteExceptionMessage();
                TempData[Constants.ErrorOccurred] = true;
                return(RedirectToAction(nameof(Edit), new { Id }));
            }
        }