Пример #1
0
        public IActionResult Create(Skladište skladište)
        {
            logger.LogTrace(JsonSerializer.Serialize(skladište));
            if (ModelState.IsValid)
            {
                try
                {
                    ctx.Add(skladište);
                    ctx.SaveChanges();

                    logger.LogInformation(new EventId(1000), $"skladiste {skladište.Naziv} dodan.");

                    TempData[Constants.Message]       = $"skladiste {skladište.Naziv} dodan.";
                    TempData[Constants.ErrorOccurred] = false;
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception exc)
                {
                    logger.LogError("Pogreška prilikom dodavanje novog refernetnog tipa: {0}", exc.CompleteExceptionMessage());
                    ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                    return(View(skladište));
                }
            }
            else
            {
                return(View(skladište));
            }
        }
Пример #2
0
        public async Task <IActionResult> Update(string id, int page = 1, int sort = 1, bool ascending = true)
        {
            //za različite mogućnosti ažuriranja pogledati
            //attach, update, samo id, ...
            //https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/crud#update-the-edit-page

            try
            {
                Skladište skladište = await ctx.Skladište.FindAsync(id);

                if (skladište == null)
                {
                    return(NotFound("Neispravna naziv referentnog tipa: " + id));
                }

                if (await TryUpdateModelAsync <Skladište>(skladište, "",
                                                          s => s.Naziv
                                                          ))
                {
                    ViewBag.Page      = page;
                    ViewBag.Sort      = sort;
                    ViewBag.Ascending = ascending;
                    try
                    {
                        await ctx.SaveChangesAsync();

                        TempData[Constants.Message]       = "Skladiste ažurirana.";
                        TempData[Constants.ErrorOccurred] = false;
                        return(RedirectToAction(nameof(Index), new { page, sort, ascending }));
                    }
                    catch (Exception exc)
                    {
                        ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                        return(View(skladište));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Podatke o skladistu nije moguće povezati s forme");
                    return(View(skladište));
                }
            }
            catch (Exception exc)
            {
                TempData[Constants.Message]       = exc.CompleteExceptionMessage();
                TempData[Constants.ErrorOccurred] = true;
                return(RedirectToAction(nameof(Edit), id));
            }
        }