Exemplo n.º 1
0
        public PersoonModel Add(PersoonModel model)
        {
            using (MVC_CV_DemoEntities entities = new MVC_CV_DemoEntities())
            {
                Guid newId = Guid.NewGuid();

                Persoon entity = new Persoon
                {
                    PersoonId    = newId,
                    Naam         = model.Naam,
                    Voornaam     = model.Voornaam,
                    Voorvoegsels = model.Voorvoegsels
                };

                entities.Persoon.Add(entity);

                int recordsAffected = entities.SaveChanges();
                if (recordsAffected != 1)
                {
                    return(null);
                }

                model.PersoonId = newId;

                return(model);
            }
        }
Exemplo n.º 2
0
        public ActionResult Edit(PersoonModel persoon)
        {
            if (ModelState.IsValid)
            {
                persoon = rep.Update(persoon);

                return(RedirectToAction("Index"));
            }
            ;
            return(View(persoon));
        }
Exemplo n.º 3
0
        public ActionResult Create(PersoonModel persoon)
        {
            if (ModelState.IsValid)
            {
                rep.Add(persoon);

                return(RedirectToAction("Index"));
            }
            ;

            return(View(persoon));
        }
Exemplo n.º 4
0
        // GET: Persoon/Delete/5
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PersoonModel persoon = rep.Fetch(id.GetValueOrDefault());

            if (persoon == null)
            {
                return(HttpNotFound());
            }

            return(View(persoon));
        }
Exemplo n.º 5
0
        public PersoonModel Update(PersoonModel model)
        {
            using (MVC_CV_DemoEntities entities = new MVC_CV_DemoEntities())
            {
                Persoon entity = entities.Persoon.FirstOrDefault(w => w.PersoonId == model.PersoonId);
                if (entity == null)
                {
                    return(null);
                }

                entity.Naam         = model.Naam;
                entity.Voornaam     = model.Voornaam;
                entity.Voorvoegsels = model.Voorvoegsels;

                int recordsAffected = entities.SaveChanges();
                return(recordsAffected == 1 ? Fetch(model.PersoonId) : null);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Werkt een persoon bij op basis van gegevens in <paramref name="model"/>.
        /// Het PersoonID bepaalt welke persoon bijgwerkt moet worden.
        /// </summary>
        /// <param name="model">Gegevens bij te werken persoon.</param>
        public void Bijwerken(PersoonModel model)
        {
            var persoon = _personenRepo.ByID(model.PersoonId);

            if (persoon == null)
            {
                throw new FoutNummerException(
                          FoutNummer.PersoonNietGevonden,
                          string.Format("Onbekend persoon (ID {0}) genegeerd (AD {1})", model.PersoonId, model.AdNummer));
            }

            if (persoon.AdNummer != model.AdNummer)
            {
                // AD-nummer aanpassen enkel indien nodig.
                // Onderstaande method persisteert.
                AdNummerToekennen(persoon, model.AdNummer);

                Console.WriteLine("Ad-nummer {0} toegekend aan {1}. (ID {2})", model.AdNummer, persoon.VolledigeNaam, persoon.ID);
            }
        }
Exemplo n.º 7
0
        public PersoonModule(IGapUpdater gapUpdater)
        {
            // gapUpdater, aangeleverd door de dependency injection container, is disposable,
            // en moet achteraf vrijgegeven worden. Dat doen we in Dispose() van deze module.

            _gapUpdater = gapUpdater;

            Get["/"]             = _ => "Hello World!";
            Get["/persoon/{id}"] = parameters =>
            {
                int id = parameters.id;
                return(String.Format("You requested {0}", id));
            };

            // You can test this with curl:
            // curl -X PUT -d PersoonId=2 -d AdNummer=3 localhost:50673/persoon
            Put["/persoon"] = _ =>
            {
                // PersoonId is hier de key.

                PersoonModel model = this.Bind();

                try
                {
                    _gapUpdater.Bijwerken(model);
                }
                catch (FoutNummerException ex)
                {
                    if (ex.FoutNummer == FoutNummer.PersoonNietGevonden)
                    {
                        return(HttpStatusCode.NotFound);
                    }
                    throw;
                }

                return(HttpStatusCode.OK);
            };
        }