public AansluitingModule(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;

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

                AansluitingModel model = this.Bind();

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

                return(HttpStatusCode.OK);
            };
        }
Esempio n. 2
0
        public GroepModule(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;

            // curl -X PUT -d StamNummer=AG\ /0711 -d StopDatum=2012-08-21 localhost:50673/groep
            // (laat -d StopDatum=... weg om stopdatum te clearen.)
            Put["/groep"] = _ =>
            {
                GroepModel model = this.Bind();
                try
                {
                    _gapUpdater.GroepDesactiveren(model.StamNummer, model.StopDatum);
                }
                catch (FoutNummerException ex)
                {
                    if (ex.FoutNummer == FoutNummer.GroepNietGevonden)
                    {
                        return(HttpStatusCode.NotFound);
                    }
                    throw;
                }
                return(HttpStatusCode.OK);
            };
        }
Esempio n. 3
0
        public FoutAdModule(IGapUpdater gapUpdater)
        {
            _gapUpdater = gapUpdater;

            Post["/foutad"] = _ =>
            {
                int         persoonId;
                FoutAdModel model = this.Bind();
                try
                {
                    persoonId = _gapUpdater.AdNummerVerwijderen(model.AdNummer);
                }
                catch (FoutNummerException ex)
                {
                    if (ex.FoutNummer == FoutNummer.PersoonNietGevonden)
                    {
                        return(HttpStatusCode.UnprocessableEntity);
                    }
                    throw;
                }
                string url = String.Format("{0}/Persoon/{1}", this.Request.Url.SiteBase, persoonId);

                Response r = HttpStatusCode.NoContent;
                r.Headers["Location"] = url;
                return(r);
            };
        }
Esempio n. 4
0
        public RawModule(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["/raw/leden/{werkjaar}"] = parameters => _gapUpdater.AlleLedenRaw(parameters.werkjaar);
            Get["raw/dp/{werkjaar}"]     = parameters => _gapUpdater.AlleDpRaw(parameters.werkjaar);
        }
Esempio n. 5
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);
            };
        }
        public CommunicatieVormModule(IGapUpdater gapUpdater)
        {
            _gapUpdater = gapUpdater;

            // curl -X DELETE -d AdNummer=xx -d CommunicatieTypeId=3 -d [email protected] http://localhost:50673/communicatievorm
            Delete["/communicatievorm"] = _ =>
            {
                CommunicatieVormModel model = this.Bind();
                try
                {
                    _gapUpdater.CommunicatieVormVerwijderen(model);
                }
                catch (FoutNummerException e)
                {
                    if (e.FoutNummer == FoutNummer.CommunicatieVormNietGevonden)
                    {
                        return(HttpStatusCode.NotFound);
                    }
                    throw;
                }
                return(HttpStatusCode.OK);
            };
        }