コード例 #1
0
        public async Task <IActionResult> Create(PonuditeljViewModel model)
        {
            Ponuditelj ponuditelj = new Ponuditelj
            {
                OibPonuditelj      = model.OibPonuditelj,
                NazivPonuditelj    = model.NazivPonuditelj,
                AdresaPonuditelj   = model.AdresaPonuditelj,
                SjedištePonuditelj = model.SjedistePonuditelj
            };

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

            var addedItem = await Get(ponuditelj.OibPonuditelj);

            return(CreatedAtAction(nameof(Get), new { oib = ponuditelj.OibPonuditelj }, addedItem.Value));
        }
コード例 #2
0
        public async Task <IActionResult> Update(string id, int page = 1, int sort = 1, bool ascending = true)
        {
            try
            {
                Ponuditelj ponuditelj = await ctx.Ponuditeljs.FindAsync(id);

                if (ponuditelj == null)
                {
                    return(NotFound($"Ne postoji ponuditelj čiji je OIB {id}"));
                }


                bool ok = await TryUpdateModelAsync <Ponuditelj>(ponuditelj, "", p => p.NazivPonuditelj, p => p.AdresaPonuditelj, p => p.SjedištePonuditelj);

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

                        TempData[Constants.Message]      = $"Ponuditelj {ponuditelj.NazivPonuditelj} uspješno ažuriran.";
                        TempData[Constants.ErrorOccured] = false;
                        return(RedirectToAction(nameof(Index), new { page = page, sort = sort, ascending = ascending }));
                    }
                    catch (Exception exc)
                    {
                        ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage());
                        return(View(ponuditelj));
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Podatke nije moguće povezati");
                    return(View(ponuditelj));
                }
            }
            catch (Exception exc)
            {
                TempData[Constants.Message]      = exc.CompleteExceptionMessage();
                TempData[Constants.ErrorOccured] = true;
                return(RedirectToAction(nameof(Edit), id));
            }
        }
コード例 #3
0
        [ValidateAntiForgeryToken]                         //medu podacima koje primamo mora biti i antiforgery token
        public IActionResult Create(Ponuditelj ponuditelj) //podaci se prvo uzimaju iz forme, pa iz parametara rute i onda query stringa
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ctx.Add(ponuditelj);
                    ctx.SaveChanges();
                    TempData[Constants.Message]      = $"Ponuditelj {ponuditelj.NazivPonuditelj} uspješno dodan.";
                    TempData[Constants.ErrorOccured] = false;

                    return(RedirectToAction("Index"));
                }
                catch (Exception exc)
                {
                    ModelState.AddModelError(string.Empty, exc.CompleteExceptionMessage()); //radimo proširenje za Exception
                    return(View(ponuditelj));                                               //ne vracamo praznu stranicu, nego postojece podatke
                }
            }
            else
            {
                return(View(ponuditelj));
            }
        }