示例#1
0
        public async Task <IActionResult> ListBuildings(
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromQuery] string status,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <BuildingOptions> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            CancellationToken cancellationToken = default)
        {
            var        contentFormat = DetermineFormat(actionContextAccessor.ActionContext);
            const Taal taal          = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                taal,
                sort,
                status);

            // As long as we do not control WFS, buildings cannot be cached
            //var cacheKey = CreateCacheKeyForRequestQuery($"legacy/building-list:{taal}");

            //var value = await (CacheToggle.FeatureEnabled
            //    ? GetFromCacheThenFromBackendAsync(format, BackendRequest, cacheKey, Request.GetTypedHeaders(), CreateDefaultHandleBadRequest(), cancellationToken)
            //    : GetFromBackendAsync(format, BackendRequest, Request.GetTypedHeaders(), CreateDefaultHandleBadRequest(), cancellationToken));

            var value = await GetFromBackendAsync(
                contentFormat.ContentType,
                BackendRequest,
                CreateDefaultHandleBadRequest(),
                cancellationToken);

            return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.GebouwVolgendeUrl));
        }
示例#2
0
        public async Task <IActionResult> CountAddressesWithFormat(
            [FromRoute] string format,
            [FromQuery] string gemeentenaam,
            [FromQuery] int?postcode,
            [FromQuery] string straatnaam,
            [FromQuery] string homoniemToevoeging,
            [FromQuery] string huisnummer,
            [FromQuery] string busnummer,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            CancellationToken cancellationToken = default)
        {
            format = DetermineAndSetFormat(format, actionContextAccessor, Request);

            const Taal taal = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendCountRequest(
                taal,
                busnummer,
                huisnummer,
                postcode,
                gemeentenaam,
                straatnaam,
                homoniemToevoeging);

            return(new BackendResponseResult(await GetFromBackendAsync(format, BackendRequest, Request.GetTypedHeaders(), CreateDefaultHandleBadRequest(), cancellationToken)));
        }
        public async Task <IActionResult> ListCrabSubaddressesWithFormat(
            [FromRoute] string format,
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromQuery] int?objectId,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <AddressOptions> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            CancellationToken cancellationToken = default)
        {
            format = DetermineAndSetFormat(format, actionContextAccessor, Request);

            const Taal taal = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                sort,
                objectId);

            var cacheKey = CreateCacheKeyForRequestQuery($"legacy/crabsubaddresses-list:{taal}");

            var value = await(CacheToggle.FeatureEnabled
                ? GetFromCacheThenFromBackendAsync(format, BackendRequest, cacheKey, Request.GetTypedHeaders(), CreateDefaultHandleBadRequest(), cancellationToken)
                : GetFromBackendAsync(format, BackendRequest, Request.GetTypedHeaders(), CreateDefaultHandleBadRequest(), cancellationToken));

            return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.CrabSubadressenVolgendeUrl));
        }
示例#4
0
        public async Task <IActionResult> ListPublicServices(
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            CancellationToken cancellationToken = default)
        {
            var        contentFormat = DetermineFormat(actionContextAccessor.ActionContext);
            const Taal taal          = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                taal,
                sort);

            var cacheKey = CreateCacheKeyForRequestQuery($"legacy/publicservice-list:{taal}");

            var value = await(CacheToggle.FeatureEnabled
                ? GetFromCacheThenFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  cacheKey,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken)
                : GetFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken));

            return(new BackendResponseResult(value));
        }
        private static IRestRequest CreateBackendListRequest(
            int?offset,
            int?limit,
            Taal language,
            string sort,
            string municipalityName)
        {
            var filter = new StreetNameFilter
            {
                MunicipalityName = municipalityName
            };

            // id, naam-nl, naam-fr, naam-de, naam-en
            var sortMapping = new Dictionary <string, string>
            {
                { "Id", "PersistentLocalId" },
                { "NaamNl", "NameDutch" },
                { "Naam-Nl", "NameDutch" },
                { "NaamEn", "NameEnglish" },
                { "Naam-En", "NameEnglish" },
                { "NaamFr", "NameFrench" },
                { "Naam-Fr", "NameFrench" },
                { "NaamDe", "NameGerman" },
                { "Naam-De", "NameGerman" },
            };

            return(new RestRequest("straatnamen?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddFiltering(filter)
                   .AddSorting(sort, sortMapping));
        }
示例#6
0
        private static IRestRequest CreateBackendListRequest(
            int?offset,
            int?limit,
            Taal language,
            int?addressId,
            string sort,
            string status)
        {
            var filter = new BuildingUnitFilter
            {
                AddressPersistentLocalId = addressId?.ToString(),
                Status = status
            };

            var sortMapping = new Dictionary <string, string>
            {
                { "Id", "PersistentLocalId" },
            };

            return(new RestRequest("gebouweenheden?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddFiltering(filter)
                   .AddSorting(sort, sortMapping));
        }
        public void ChangeLanguage(Taal newLanguage)
        {
            switch (newLanguage)
            {
                default:
                    // ReSharper disable once RedundantCaseLabel
                case Taal.Nederlands:
                    _currentLanguage = new CultureInfo("NL");
                    break;
                case Taal.Engels:
                    _currentLanguage = new CultureInfo("EN");
                    break;
            }

            Thread.CurrentThread.CurrentUICulture = _currentLanguage;

            /* Zorgt voor ontbrekende LanguageControl in hoofdvenster
             *
            foreach (Form openForm in Application.OpenForms)
            {
                UpdateForm(openForm);
            }
             */

            Form parent = Parent as Form;
            UpdateForm(parent);

            UpdateUserInDatabase(newLanguage);
        }
        private static IRestRequest CreateBackendListRequest(
            int?offset,
            int?limit,
            Taal language,
            string sort)
        {
            // niscode, naam, naam-nl, naam-fr, naam-de, naam-en
            var sortMapping = new Dictionary <string, string>
            {
                { "NisCode", "NisCode" },
                { "Naam", "DefaultName" },
                { "NaamNl", "NameDutch" },
                { "Naam-Nl", "NameDutch" },
                { "NaamEn", "NameEnglish" },
                { "Naam-En", "NameEnglish" },
                { "NaamFr", "NameFrench" },
                { "Naam-Fr", "NameFrench" },
                { "NaamDe", "NameGerman" },
                { "Naam-De", "NameGerman" },
            };

            return(new RestRequest("gemeenten?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddSorting(sort, sortMapping));
        }
示例#9
0
        public ActionResult DeleteConfirmed(int id)
        {
            Taal taal = db.Taal.Find(id);

            db.Taal.Remove(taal);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#10
0
        public async Task <IActionResult> ListAddressesV2(
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromQuery] string gemeentenaam,
            [FromQuery] int?postcode,
            [FromQuery] string straatnaam,
            [FromQuery] string homoniemToevoeging,
            [FromQuery] string huisnummer,
            [FromQuery] string busnummer,
            [FromQuery] string niscode,
            [FromQuery] string status,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <AddressOptionsV2> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            [FromServices] IsAddressOsloApiEnabledToggle featureToggle,
            CancellationToken cancellationToken = default)
        {
            if (!featureToggle.FeatureEnabled)
            {
                return(NotFound());
            }

            var        contentFormat = DetermineFormat(actionContextAccessor.ActionContext);
            const Taal taal          = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                taal,
                sort,
                busnummer,
                huisnummer,
                postcode,
                gemeentenaam,
                straatnaam,
                homoniemToevoeging,
                niscode,
                status);

            var cacheKey = CreateCacheKeyForRequestQuery($"oslo/address-list:{taal}");

            var value = await(CacheToggle.FeatureEnabled
                ? GetFromCacheThenFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  cacheKey,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken)
                : GetFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken));

            return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.VolgendeUrl));
        }
示例#11
0
 public BosaAddressRepresentation(Taal taal, string huisnummer, string busnummer, string volledigAdres, string gemeentenaam, string straatnaam, string postcode)
 {
     Taal          = taal;
     Huisnummer    = huisnummer;
     Busnummer     = busnummer;
     VolledigAdres = volledigAdres;
     Gemeentenaam  = gemeentenaam;
     Straatnaam    = straatnaam;
     Postcode      = postcode;
 }
示例#12
0
 public ActionResult Edit([Bind(Include = "TaalID,Taal1")] Taal taal)
 {
     if (ModelState.IsValid)
     {
         db.Entry(taal).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(taal));
 }
示例#13
0
 public Gebruiker(String voornaam, String achternaam, String email, String wachtwoord, DateTime geboortedatum,
     Taal taal)
     : this()
 {
     Voornaam = voornaam;
     Achternaam = achternaam;
     Email = email;
     Wachtwoord = wachtwoord;
     _geboortedatum = geboortedatum;
     Taal = taal;
 }
示例#14
0
        public ActionResult Create([Bind(Include = "TaalID,Taal1")] Taal taal)
        {
            if (ModelState.IsValid)
            {
                db.Taal.Add(taal);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(taal));
        }
示例#15
0
        // GET: Talen/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Taal taal = db.Taal.Find(id);

            if (taal == null)
            {
                return(HttpNotFound());
            }
            return(View(taal));
        }
示例#16
0
        public async Task <IActionResult> ListMunicipalitiesV2(
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromQuery] string gemeentenaam,
            [FromQuery] string status,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <MunicipalityOptionsV2> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            [FromServices] IsMunicipalityOsloApiEnabledToggle featureToggle,
            CancellationToken cancellationToken = default)
        {
            if (!featureToggle.FeatureEnabled)
            {
                return(NotFound());
            }

            var        contentFormat = DetermineFormat(actionContextAccessor.ActionContext);
            const Taal taal          = Taal.NL;

            var isFlemishRegion = GetIsFlemishRegionQueryParameter();

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                taal,
                gemeentenaam,
                sort,
                status,
                isFlemishRegion);

            var cacheKey = CreateCacheKeyForRequestQuery($"oslo/municipality-list:{taal}");

            var value = await(CacheToggle.FeatureEnabled
                ? GetFromCacheThenFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  cacheKey,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken)
                : GetFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken));

            return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.VolgendeUrl));
        }
示例#17
0
        private static IRestRequest CreateBackendListRequest(
            int?offset,
            int?limit,
            Taal language,
            string sort)
        {
            var sortMapping = new Dictionary <string, string>
            {
                { "Id", "PersistentLocalId" },
            };

            return(new RestRequest("percelen?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddSorting(sort, sortMapping));
        }
示例#18
0
        public async Task <IActionResult> ListBuildingUnitsV2(
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromQuery] int?adresObjectId,
            [FromQuery] string status,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <BuildingOptionsV2> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            [FromServices] IsBuildingUnitOsloApiEnabledToggle featureToggle,
            CancellationToken cancellationToken = default)
        {
            if (!featureToggle.FeatureEnabled)
            {
                return(NotFound());
            }

            var        contentFormat = DetermineFormat(actionContextAccessor.ActionContext);
            const Taal taal          = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                taal,
                adresObjectId,
                sort,
                status);

            var cacheKey = CreateCacheKeyForRequestQuery($"oslo/buildingunit-list:{taal}");

            var value = await(CacheToggle.FeatureEnabled
                ? GetFromCacheThenFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  cacheKey,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken)
                : GetFromBackendAsync(
                                  contentFormat.ContentType,
                                  BackendRequest,
                                  CreateDefaultHandleBadRequest(),
                                  cancellationToken));

            return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.GebouweenheidVolgendeUrl));
        }
示例#19
0
        public static Language ConvertFromTaal(this Taal taal)
        {
            switch (taal)
            {
            default:
            case Taal.NL:
                return(Language.Dutch);

            case Taal.FR:
                return(Language.French);

            case Taal.DE:
                return(Language.German);

            case Taal.EN:
                return(Language.English);
            }
        }
示例#20
0
        public async Task <IActionResult> ListStreetNames(
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromQuery] string straatnaam,
            [FromQuery] string gemeentenaam,
            [FromQuery] string niscode,
            [FromQuery] string status,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <StreetNameOptions> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            CancellationToken cancellationToken = default)
        {
            var        contentFormat = DetermineFormat(actionContextAccessor.ActionContext);
            const Taal taal          = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                taal,
                sort,
                straatnaam,
                gemeentenaam,
                niscode,
                status);

            var cacheKey = CreateCacheKeyForRequestQuery($"legacy/streetname-list:{taal}");
            var value    = await(CacheToggle.FeatureEnabled
                ? GetFromCacheThenFromBackendAsync(
                                     contentFormat.ContentType,
                                     BackendRequest,
                                     cacheKey,
                                     CreateDefaultHandleBadRequest(),
                                     cancellationToken)
                : GetFromBackendAsync(
                                     contentFormat.ContentType,
                                     BackendRequest,
                                     CreateDefaultHandleBadRequest(),
                                     cancellationToken));

            return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.VolgendeUrl));
        }
示例#21
0
        private static IQueryable <MunicipalityBosaItem> ApplyMunicipalityLanguageFilter(
            IQueryable <MunicipalityBosaItem> query,
            Taal language)
        {
            switch (language)
            {
            default:
            case Taal.NL:
                return(query.Where(m => m.NameDutchSearch != null));

            case Taal.FR:
                return(query.Where(m => m.NameFrenchSearch != null));

            case Taal.DE:
                return(query.Where(m => m.NameGermanSearch != null));

            case Taal.EN:
                return(query.Where(m => m.NameEnglishSearch != null));
            }
        }
示例#22
0
        public static Language ToLanguage(this Taal taal)
        {
            switch (taal)
            {
            case Taal.NL:
                return(Language.Dutch);

            case Taal.FR:
                return(Language.French);

            case Taal.DE:
                return(Language.German);

            case Taal.EN:
                return(Language.English);

            default:
                throw new ArgumentOutOfRangeException(nameof(taal), taal, $"Non existing language '{taal}'.");
            }
        }
        private static IRestRequest CreateBackendListRequest(int?offset,
                                                             int?limit,
                                                             Taal language,
                                                             string sort,
                                                             string boxNumber,
                                                             string houseNumber,
                                                             int?postalCode,
                                                             string municipalityName,
                                                             string streetName,
                                                             string homonymAddition,
                                                             string niscode,
                                                             string status)
        {
            var filter = new AddressFilter
            {
                BoxNumber        = boxNumber,
                HouseNumber      = houseNumber,
                PostalCode       = postalCode?.ToString(),
                MunicipalityName = municipalityName,
                StreetName       = streetName,
                HomonymAddition  = homonymAddition,
                NisCode          = niscode,
                Status           = status
            };

            // id, postcode, huisnummer, busnummer
            var sortMapping = new Dictionary <string, string>
            {
                { "BusNummer", "BoxNumber" },
                { "huisnummer", "HouseNumber" },
                { "postcode", "PostalCode" },
                { "Id", "PersistentLocalId" },
            };

            return(new RestRequest("adressen?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddFiltering(filter)
                   .AddSorting(sort, sortMapping));
        }
示例#24
0
        public async Task <IActionResult> ListAddressesWithFormat(
            [FromRoute] string format,
            [FromQuery] int?offset,
            [FromQuery] int?limit,
            [FromQuery] string sort,
            [FromQuery] string gemeentenaam,
            [FromQuery] int?postcode,
            [FromQuery] string straatnaam,
            [FromQuery] string homoniemToevoeging,
            [FromQuery] string huisnummer,
            [FromQuery] string busnummer,
            [FromServices] IActionContextAccessor actionContextAccessor,
            [FromServices] IOptions <AddressOptions> responseOptions,
            [FromHeader(Name = HeaderNames.IfNoneMatch)] string ifNoneMatch,
            CancellationToken cancellationToken = default)
        {
            format = DetermineAndSetFormat(format, actionContextAccessor, Request);

            const Taal taal = Taal.NL;

            IRestRequest BackendRequest() => CreateBackendListRequest(
                offset,
                limit,
                taal,
                sort,
                busnummer,
                huisnummer,
                postcode,
                gemeentenaam,
                straatnaam,
                homoniemToevoeging);

            var cacheKey = CreateCacheKeyForRequestQuery($"legacy/address-list:{taal}");

            var value = await(CacheToggle.FeatureEnabled
                ? GetFromCacheThenFromBackendAsync(format, BackendRequest, cacheKey, Request.GetTypedHeaders(), CreateDefaultHandleBadRequest(), cancellationToken)
                : GetFromBackendAsync(format, BackendRequest, Request.GetTypedHeaders(), CreateDefaultHandleBadRequest(), cancellationToken));

            return(BackendListResponseResult.Create(value, Request.Query, responseOptions.Value.VolgendeUrl));
        }
示例#25
0
        private static IRestRequest CreateBackendCountRequest(
            Taal language,
            string boxNumber,
            string houseNumber,
            int?postalCode,
            string municipalityName,
            string streetName,
            string homonymAddition)
        {
            var filter = new AddressFilter
            {
                BoxNumber        = boxNumber,
                HouseNumber      = houseNumber,
                PostalCode       = postalCode?.ToString(),
                MunicipalityName = municipalityName,
                StreetName       = streetName,
                HomonymAddition  = homonymAddition
            };

            return(new RestRequest("adressen/totaal-aantal")
                   .AddFiltering(filter));
        }
示例#26
0
        public AddressResponse(
            string naamruimte,
            string objectId,
            string huisnummer,
            string busnummer,
            AdresDetailGemeente gemeente,
            AdresDetailStraatnaam straatnaam,
            HomoniemToevoeging homoniemToevoeging,
            AdresDetailPostinfo postInfo,
            Point adresPositie,
            PositieGeometrieMethode positieGeometrieMethode,
            PositieSpecificatie positieSpecificatie,
            AdresStatus status,
            Taal taal,
            bool?officieelToegekend,
            DateTimeOffset version)
        {
            Identificator           = new AdresIdentificator(naamruimte, objectId, version);
            Huisnummer              = huisnummer;
            Busnummer               = busnummer;
            PositieGeometrieMethode = positieGeometrieMethode;
            PositieSpecificatie     = positieSpecificatie;
            AdresStatus             = status;
            OfficieelToegekend      = officieelToegekend ?? false;
            Postinfo           = postInfo;
            Gemeente           = gemeente;
            Straatnaam         = straatnaam;
            HomoniemToevoeging = homoniemToevoeging;
            AdresPositie       = adresPositie;

            VolledigAdres = new VolledigAdres(
                straatnaam?.Straatnaam?.GeografischeNaam?.Spelling,
                huisnummer,
                busnummer,
                postInfo?.ObjectId,
                gemeente?.Gemeentenaam?.GeografischeNaam?.Spelling,
                taal);
        }
示例#27
0
        private static IRestRequest CreateBackendListRequest(
            int?offset,
            int?limit,
            Taal language,
            string sort)
        {
            // id, naam, verantwoordelijke-autoriteit
            var sortMapping = new Dictionary <string, string>
            {
                { "Id", "PublicServiceId" },
                { "Naam", "Name" },
                { "VerantwoordelijkeAutoriteit", "CompetentAuthorityName" },
                { "Verantwoordelijke-Autoriteit", "CompetentAuthorityName" },
                { "BevoegdeOverheid", "CompetentAuthorityName" },
                { "Bevoegde-Overheid", "CompetentAuthorityName" },
                { "ExportToOrafin", "ExportToOrafin" },
            };

            return(new RestRequest("dienstverleningen?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddSorting(sort, sortMapping));
        }
        private static IRestRequest CreateBackendListRequest(
            int?offset,
            int?limit,
            Taal language,
            string sort,
            string municipalityName)
        {
            var filter = new PostalInformationFilter
            {
                MunicipalityName = municipalityName
            };

            // postcode
            var sortMapping = new Dictionary <string, string>
            {
                { "PostCode", "PostalCode" },
            };

            return(new RestRequest("postcodes?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddFiltering(filter)
                   .AddSorting(sort, sortMapping));
        }
示例#29
0
        private static IRestRequest CreateBackendListRequest(int?offset,
                                                             int?limit,
                                                             Taal language,
                                                             string municipalityName,
                                                             string sort,
                                                             string status,
                                                             bool isFlemishRegion)
        {
            var filter = new MunicipalityListFilter
            {
                MunicipalityName = municipalityName,
                Status           = status,
                IsFlemishRegion  = isFlemishRegion
            };

            // niscode, naam, naam-nl, naam-fr, naam-de, naam-en
            var sortMapping = new Dictionary <string, string>
            {
                { "NisCode", "NisCode" },
                { "Naam", "DefaultName" },
                { "NaamNl", "NameDutch" },
                { "Naam-Nl", "NameDutch" },
                { "NaamEn", "NameEnglish" },
                { "Naam-En", "NameEnglish" },
                { "NaamFr", "NameFrench" },
                { "Naam-Fr", "NameFrench" },
                { "NaamDe", "NameGerman" },
                { "Naam-De", "NameGerman" }
            };

            return(new RestRequest("gemeenten?taal={language}")
                   .AddParameter("language", language, ParameterType.UrlSegment)
                   .AddPagination(offset, limit)
                   .AddFiltering(filter)
                   .AddSorting(sort, sortMapping));
        }
        private void btnMaakCursusAan_Click(object sender, RoutedEventArgs e)
        {
            lesgever = DatabaseOperations.OphalenLesgeverViaId(Inloggegevens.Id);                                                                                                    //gegevens ophalen van de lesgever via de inloggegevens
            List <Cursus> aantalCursussenLesgever = DatabaseOperations.OphalenCursussenViaLesgeverId(lesgever.Id);                                                                   // voor een unieke code te genereren voor de cursus worden alle cursussen opgehaald om hiervan het aantal te weten zodat deze op volgorde kan aangemaakt worden
            string        code          = lesgever.Id + lesgever.Naam.Substring(0, 1).ToUpper() + lesgever.Voornaam.Substring(0, 1).ToUpper() + (aantalCursussenLesgever.Count + 1); //creëren unieke code
            string        foutmeldingen = Valideer("cmbTaal");                                                                                                                       //validatie

            foutmeldingen += Valideer("cmbNiveau");
            foutmeldingen += Valideer("cmbCategorie");
            foutmeldingen += Valideer("cmbOnderwerpen");
            foutmeldingen += Valideer("txtPrijs");        //moet gevalideert worden hier en niet in de methode is geldig omdat deze geconverteerd moet worden naar een decimal
            if (string.IsNullOrWhiteSpace(foutmeldingen)) //Indien er geen foutmeldingen kan een cursus aangemaakt worden
            {
                //opvullen gegevens
                Taal      taal        = cmbTaal.SelectedItem as Taal;
                Niveau    niveau      = cmbNiveau.SelectedItem as Niveau;
                Categorie onderwerpen = cmbOnderwerpen.SelectedItem as Categorie;
                cursus.Naam         = txtNaamCursus.Text;
                cursus.Datum        = DateTime.Now;
                cursus.Categorie_Id = onderwerpen.Id;
                cursus.Niveau_Id    = niveau.Id;
                string  seporator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
                decimal prijs     = System.Convert.ToDecimal(txtPrijs.Text + seporator + txtPrijsDecimaal.Text);
                //prijs is in 2 velden opgemaakt omdat ik dit niet in orde kreeg om een Amerikaanse notatie . of Belgische notatie , in een getal eruit te halen
                cursus.Prijs        = prijs;
                cursus.Taal_Id      = taal.Id;
                cursus.Code         = code;
                cursus.Beschrijving = txtbBeschrijving.Text;
                cursus.Lesgever_Id  = lesgever.Id;
                if (cursus.IsGeldig())//Via de partial class wordt gekeken of deze cursus geldig is
                {
                    if (DatabaseOperations.ToevoegenCursus(cursus) > 0)
                    {
                        //Wanneer de cursus is aangemaakt worden zijn bijhorende bijzonderheden aangemaakt
                        string msg = "Uw cursus is aangemaakt" + Environment.NewLine;
                        if (cbOndertitels.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Ondertitels", ref msg);
                        }
                        if (cbExamens.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Examens", ref msg);
                        }
                        if (cbCodeerOefeningen.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Codeeroefeningen", ref msg);
                        }
                        if (cbOefenExamens.IsChecked ?? false)
                        {
                            CursusBijzonderheidToevoegen("Oefenexamens", ref msg);
                        }
                        if (msg.Contains("niet"))
                        {
                            msg = "Er is een fout in de cursus bijzonderheden en deze worden terug verwijdert:";
                            //Men probeert de cursusbijzonderheden te verwijderen omdat er een fout in de databank zit
                            List <Cursus_Bijzonderheid> cursusBijzonderheden = DatabaseOperations.OphalenCursusBijzonderhedenViaCursusId(cursus.Id);
                            bool verwijderenGelukt = true;
                            foreach (var item in cursusBijzonderheden)
                            {
                                if (!CursusBijzonderheidVerwijderen(item.Bijzonderheid.Naam, ref msg))
                                {
                                    verwijderenGelukt = false;
                                }
                            }
                            if (verwijderenGelukt == false)
                            {
                                MessageBox.Show($"Uw cursus kon niet verwijdert worden. {msg}");
                            }
                            else
                            {
                                Cursus verwijderenCursus = DatabaseOperations.OphalenCursusViaId(cursus.Id);
                                if (DatabaseOperations.VerwijderenCursus(verwijderenCursus) > 0)
                                {
                                    MessageBox.Show("Uw cursus en zijn bijzonderheden zijn terug verwijdert wegens een fout bij het toevoegen van de cursus");
                                }
                                else
                                {
                                    MessageBox.Show("De cursus is aangemaakt zonder zijn bijzonderheden door fouten in de bijzonderheden");
                                }
                            }
                        }
                        else
                        {
                            //Indien alles gelukt is wordt de gebruiker terug geleid naar zijn overzicht
                            MessageBox.Show(msg);
                            OverzichtLesgever overzichtLesgever = new OverzichtLesgever();
                            overzichtLesgever.Show();
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Uw cursus is niet toegevoegd. Als het probleem zich blijft voordoen gelieve Udemy te verwittigen");
                    }
                }
                else
                {
                    MessageBox.Show(cursus.Error);
                }
            }
            else
            {
                MessageBox.Show(foutmeldingen);
            }
        }
示例#31
0
        private void BtnWijzigingenDoorvoeren_Click(object sender, RoutedEventArgs e)
        {
            string foutmeldingen = Valideer("cmbTaal");

            foutmeldingen += Valideer("cmbNiveau");
            foutmeldingen += Valideer("cmbCategorie");
            foutmeldingen += Valideer("cmbOnderwerpen");
            foutmeldingen += Valideer("txtPrijs");
            if (string.IsNullOrWhiteSpace(foutmeldingen))
            {
                Taal      taal        = cmbTaal.SelectedItem as Taal;
                Niveau    niveau      = cmbNiveau.SelectedItem as Niveau;
                Categorie onderwerpen = cmbOnderwerpen.SelectedItem as Categorie;
                cursus.Naam         = txtNaamCursus.Text;
                cursus.Categorie    = onderwerpen;
                cursus.Categorie_Id = onderwerpen.Id;
                cursus.Niveau       = niveau;
                cursus.Niveau_Id    = niveau.Id;
                string  seporator = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
                decimal prijs     = System.Convert.ToDecimal(txtPrijs.Text + seporator + txtPrijsDecimaal.Text);
                cursus.Prijs        = prijs;
                cursus.Taal         = taal;
                cursus.Taal_Id      = taal.Id;
                cursus.Beschrijving = txtbBeschrijving.Text;
                if (cursus.IsGeldig())
                {
                    cursusBijzonderheden = DatabaseOperations.OphalenCursusBijzonderhedenViaCursusId(cursus.Id);
                    if (DatabaseOperations.UpdateCursus(cursus) > 0)
                    {
                        string msg = "Uw cursus is succesvol aangepast" + Environment.NewLine;
                        if ((cbOndertitels.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Ondertitels"))))
                        {
                            CursusBijzonderheidAanpassen("Ondertitels", ref msg);
                        }
                        if ((cbCodeerOefeningen.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Codeeroefeningen"))))
                        {
                            CursusBijzonderheidAanpassen("Codeeroefeningen", ref msg);
                        }
                        if ((cbExamens.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Examens"))))
                        {
                            CursusBijzonderheidAanpassen("Examens", ref msg);
                        }
                        if ((cbOefenExamens.IsChecked ?? false) && (!cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Oefenexamens"))))
                        {
                            CursusBijzonderheidAanpassen("Oefenexamens", ref msg);
                        }

                        if (!(cbOndertitels.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Ondertitels"))))
                        {
                            CursusBijzonderheidVerwijderen("Ondertitels", ref msg);
                        }
                        if (!(cbCodeerOefeningen.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Codeeroefeningen"))))
                        {
                            CursusBijzonderheidVerwijderen("Codeeroefeningen", ref msg);
                        }
                        if (!(cbExamens.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Examens"))))
                        {
                            CursusBijzonderheidVerwijderen("Examens", ref msg);
                        }
                        if (!(cbOefenExamens.IsChecked ?? false) && (cursusBijzonderheden.Any(x => x.Bijzonderheid.Naam.Equals("Oefenexamens"))))
                        {
                            CursusBijzonderheidVerwijderen("Oefenexamens", ref msg);
                        }
                        if (msg.Contains("niet"))
                        {
                            MessageBox.Show(msg);
                        }
                        else
                        {
                            MessageBox.Show(msg);
                            OverzichtLesgever overzichtLesgever = new OverzichtLesgever();
                            overzichtLesgever.Show();
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Uw cursus is niet aangepast. Als het probleem zich blijft voordoen gelieve Udemy te verwittigen");
                    }
                }
                else
                {
                    MessageBox.Show(cursus.Error);
                }
            }
            else
            {
                MessageBox.Show(foutmeldingen);
            }
        }
 private void UpdateUserInDatabase(Taal nieuw)
 {
     try
     {
         if (Database.Gebruikers.InlogGebruiker != null)
         {
             Database.Gebruikers.InlogGebruiker.Taal = nieuw;
             Database.Gebruikers.GebruikerUpdaten(Database.Gebruikers.InlogGebruiker);
         }
     }
     catch (Exception)
     {
         //NOP: user is not logged in or connection lost
     }
 }
        private static IRestRequest CreateBackendMatchRequest(
            Taal language,
            string boxNumber,
            string houseNumber,
            string postalCode,
            string municipalityName,
            string nisCode,
            string streetName,
            string kadStreetCode,
            string rrStreetCode,
            string index)
        {
            var request = new RestRequest("adresmatch")
                          .AddParameter("taal", language, ParameterType.QueryString);

            if (!string.IsNullOrEmpty(boxNumber))
            {
                request.AddParameter("busnummer", boxNumber, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(houseNumber))
            {
                request.AddParameter("huisnummer", houseNumber, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(postalCode))
            {
                request.AddParameter("postcode", postalCode, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(municipalityName))
            {
                request.AddParameter("gemeentenaam", municipalityName, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(nisCode))
            {
                request.AddParameter("niscode", nisCode, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(streetName))
            {
                request.AddParameter("straatnaam", streetName, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(kadStreetCode))
            {
                request.AddParameter("kadstraatcode", kadStreetCode, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(rrStreetCode))
            {
                request.AddParameter("rrstraatcode", rrStreetCode, ParameterType.QueryString);
            }

            if (!string.IsNullOrEmpty(index))
            {
                request.AddParameter("index", index, ParameterType.QueryString);
            }

            return(request);
        }