コード例 #1
0
        public IActionResult Create(Ovlaštenik ovlaštenik)
        {
            logger.LogTrace(JsonSerializer.Serialize(ovlaštenik));
            if (ModelState.IsValid)
            {
                try
                {
                    ctx.Add(ovlaštenik);
                    ctx.SaveChanges();
                    logger.LogInformation(new EventId(1000), $"Ovlaštenik {ovlaštenik.ImeOvlaštenik} dodan.");

                    TempData[Constants.Message]       = $"Ovlaštenik {ovlaštenik.ImeOvlaštenik} dodan.";
                    TempData[Constants.ErrorOccurred] = false;
                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception exc)
                {
                    PrepareDropDownList();
                    PrepareDropDownList2();
                    logger.LogError("Pogreška prilikom dodavanja novog ovlaštenika: {0}", exc.Message);
                    ModelState.AddModelError(string.Empty, exc.Message); //radimo proširenje za Exception
                    return(View(ovlaštenik));                            //ne vracamo praznu stranicu, nego postojece podatke
                }
            }
            else
            {
                PrepareDropDownList();
                PrepareDropDownList2();
                return(View(ovlaštenik));
            }
        }
コード例 #2
0
        public async Task <IActionResult> Update(int id, int page = 1, int sort = 1, bool ascending = true)
        {
            try
            {
                Ovlaštenik ovlaštenik = await ctx.Ovlašteniks.Where(o => o.OibOvlaštenik == id).SingleOrDefaultAsync();

                if (ovlaštenik == null)
                {
                    return(NotFound($"Ovlaštenik s oibom {id} ne postoji"));
                }


                bool potvrda = await TryUpdateModelAsync <Ovlaštenik>(ovlaštenik, "", o => o.ImeOvlaštenik, o => o.PrezimeOvlaštenik, o => o.IdPovjerenstva, o => o.OibNaručitelja);

                if (potvrda)
                {
                    ViewBag.Page      = page;
                    ViewBag.Sort      = sort;
                    ViewBag.Ascending = ascending;
                    try
                    {
                        await ctx.SaveChangesAsync();

                        TempData[Constants.Message]       = $"Ovlaštenik {ovlaštenik.ImeOvlaštenik} uspješno ažuriran.";
                        TempData[Constants.ErrorOccurred] = false;
                        return(RedirectToAction(nameof(Index), new { page, sort, ascending }));
                    }
                    catch (Exception exc)
                    {
                        PrepareDropDownList();
                        PrepareDropDownList2();
                        ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                        return(View(ovlaštenik));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Podatke nije moguće povezati");
                    PrepareDropDownList();
                    PrepareDropDownList2();
                    return(View(ovlaštenik));
                }
            }
            catch (Exception exc)
            {
                TempData[Constants.Message]       = exc.CompleteExceptionMessage();
                TempData[Constants.ErrorOccurred] = true;
                return(RedirectToAction(nameof(Edit), new { id, page, sort, ascending }));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Create(OvlViewModel model)
        {
            Ovlaštenik ovlaštenik = new Ovlaštenik
            {
                OibOvlaštenik     = model.OibOvlaštenik,
                ImeOvlaštenik     = model.ImeOvlaštenik,
                PrezimeOvlaštenik = model.PrezimeOvlaštenik,
                IdPovjerenstva    = model.IdPovjerenstva,
                OibNaručitelja    = model.OibNaručitelj
            };

            ctx.Add(ovlaštenik);
            await ctx.SaveChangesAsync();

            var addedItem = await Get(ovlaštenik.OibOvlaštenik);

            return(CreatedAtAction(nameof(Get), new { oib = ovlaštenik.OibOvlaštenik }, addedItem.Value));
        }