コード例 #1
0
        public async Task <IActionResult> Create(int?id)
        {
            Osoba o = null;

            KandidatVMs.KandidatCreateVM model = null;
            if (id != null && id != 0)
            {
                o = await _db.Osobe.Include(i => i.Kandidat).FirstOrDefaultAsync(f => f.OsobaId == id);
            }
            if (o == null)
            {
                return(NotFound());
            }

            model = new KandidatVMs.KandidatCreateVM()
            {
                OsobaId    = o.OsobaId,
                OsobaNaziv = o.Ime + " " + o.Prezime
            };
            if (o.Kandidat != null)
            {
                model.KandidatVM = new KandidatVMs.KandidatVM()
                {
                    KandidatId = o.Kandidat.KandidatId,
                    Biljeske   = o.Kandidat.Biljeske,
                };
            }
            return(PartialView("_Create", model));
        }
コード例 #2
0
        public IActionResult Create(KandidatVMs.KandidatCreateVM model)
        {
            //string name = $"{nameof(model.KandidatVM)}.{nameof(model.KandidatVM.Biljeske)}";
            //ModelState.AddModelError("", "Error");
            ModelState.Remove("KandidatVM.KandidatId");
            if (!ModelState.IsValid)
            {
                return(PartialView("_Create", model));
            }
            try
            {
                string detailsMessage  = "Uspješno ";
                int    id              = model.KandidatVM.KandidatId != 0 ? model.KandidatVM.KandidatId : model.OsobaId;
                Data.Models.Kandidat k = new Data.Models.Kandidat()
                {
                    KandidatId = id, Biljeske = model.KandidatVM.Biljeske
                };
                if (model.KandidatVM.KandidatId != 0)
                {
                    _db.Kandidati.Attach(k);
                    var entry = _db.Entry(k);
                    entry.State = EntityState.Modified;
                    entry.Property(p => p.DatumUpisa).IsModified = false;
                    detailsMessage += "editovana.";
                }
                else
                {
                    _db.Kandidati.Add(k);
                    detailsMessage += "promovisana u kandidata.";
                }
                _db.SaveChanges();


                return(RedirectToAction("QuickDetails", "Osoba", new { id = k.KandidatId }));
            }
            catch (Exception e)
            {
                return(BadRequest("Došlo je do greške prilikom snimanja podatka u bazu.; " + e.Message));
            }
        }