public void PersonsokFonetisktMangaTraffarTest()
        {
            PersonSokResponse response = Client.PersonSok(Personsok.CreateFonetisktNamnRequest(IdentifieringsInformation, "An*"));

            Assert.IsNotNull(response.Items);
            Assert.IsInstanceOf <OverstigerMaxAntalSvarsposterTYPE>(response.Items[0]);
        }
Exemple #2
0
        /// <summary>
        /// Logga personsökningssvaret som tas emot från SPAR-tjänsten
        /// Loggningen visar även hur man kan ta ut information från responsen
        /// </summary>
        /// <param name="response">Responsemeddelandet, innehåller svaret från anropet</param>
        /// <returns></returns>
        private static void LogPersonsokningResponse(PersonSokResponse response)
        {
            List <object>             svarsposter      = response.Items.ToList();
            List <AviseringsPostTYPE> aviseringsposter = svarsposter
                                                         .FindAll(a => a.GetType() == typeof(AviseringsPostTYPE))
                                                         .Select(a => (AviseringsPostTYPE)a)
                                                         .ToList();
            List <UndantagTYPE> undantagsposter = svarsposter
                                                  .FindAll(u => u.GetType() == typeof(UndantagTYPE))
                                                  .Select(u => (UndantagTYPE)u)
                                                  .ToList();
            List <OverstigerMaxAntalSvarsposterTYPE> maxantalsposter = svarsposter
                                                                       .FindAll(m => m.GetType() == typeof(OverstigerMaxAntalSvarsposterTYPE))
                                                                       .Select(m => (OverstigerMaxAntalSvarsposterTYPE)m)
                                                                       .ToList();

            int antalSvarsposter      = svarsposter == null ? 0 : svarsposter.Count();
            int antalAviseringsposter = aviseringsposter == null ? 0 : aviseringsposter.Count();
            int antalUndantagsposter  = undantagsposter == null ? 0 : undantagsposter.Count();
            int antalMaxantalsposter  = maxantalsposter == null ? 0 : maxantalsposter.Count();

            StringBuilder sb = new StringBuilder();

            sb.AppendLine("Personsökningen gav " + antalSvarsposter + " sökträff(ar)");
            sb.AppendLine("Antal aviseringsposter: " + antalAviseringsposter);
            sb.AppendLine("Antal undantagsposter: " + antalUndantagsposter);
            sb.AppendLine("Antal maxantalsposter: " + antalMaxantalsposter);

            sb = antalAviseringsposter <= 0 ? sb : LogAviseringsPoster(sb, aviseringsposter);
            sb = antalUndantagsposter <= 0 ? sb : LogUndantagsPoster(sb, undantagsposter);
            sb = antalMaxantalsposter <= 0 ? sb : LogMaxantalsPoster(sb, maxantalsposter);

            Logger.LogInformation(sb.ToString());
        }
        public void PersonsokGiltigtPersonIdTest()
        {
            PersonSokResponse response = Client.PersonSok(Personsok.CreatePersonIdRequest(IdentifieringsInformation, "197912122384"));

            Assert.IsNotNull(response.Items);
            Assert.AreEqual(1, response.Items.Length);
            Assert.IsInstanceOf <AviseringsPostTYPE>(response.Items[0]);
        }
Exemple #4
0
        /// <summary>
        /// Demonstration av SPAR Personsök program-program version 2021.1
        /// </summary>
        public static void Main(string[] args)
        {
            Logger.LogInformation("Demonstration SPAR Personsök program-program version 2021.1");
            PersonsokServiceClient client = CreatePersonsokServiceClient(
                "https://kt-ext-ws.statenspersonadressregister.se/2021.1/",
                "kt-ext-ws.statenspersonadressregister.se",
                "Kommun_A.p12",
                "5761213661378233",
                "DigiCert.pem");
            IdentifieringsinformationTYPE identifieringsInformation = CreateIdentifieringsInformation(
                500243,
                500243,
                637,
                "Anställd X på avdelning Y, Testsökning C# .NET Core");

            Logger.LogInformation("Personsökning med ett giltigt personnummer");
            PersonSokRequest giltigtPersonIdRequest = CreatePersonIdRequest(identifieringsInformation, "197912122384");

            LogPersonsokningRequest(giltigtPersonIdRequest);
            PersonSokResponse giltigtPersonIdResponse = client.PersonSok(giltigtPersonIdRequest);

            LogPersonsokningResponse(giltigtPersonIdResponse);

            Logger.LogInformation("Personsökning med ett ogiltigt personnummer");
            PersonSokRequest ogiltigtPersonIdRequest = CreatePersonIdRequest(identifieringsInformation, "191212121212");

            LogPersonsokningRequest(ogiltigtPersonIdRequest);
            PersonSokResponse ogiltigtPersonIdResponse = client.PersonSok(ogiltigtPersonIdRequest);

            LogPersonsokningResponse(ogiltigtPersonIdResponse);

            Logger.LogInformation("Personsökning med ett fonetiskt namn, med förväntad träff");
            PersonSokRequest fonetisktNamnRequest = CreateFonetisktNamnRequest(identifieringsInformation, "Mikael Efter*");

            LogPersonsokningRequest(fonetisktNamnRequest);
            PersonSokResponse fonetisktNamnResponse = client.PersonSok(fonetisktNamnRequest);

            LogPersonsokningResponse(fonetisktNamnResponse);

            Logger.LogInformation("Personsökning med ett fonetiskt namn, utan förväntad träff");
            PersonSokRequest fonetisktNamnRequest2 = CreateFonetisktNamnRequest(identifieringsInformation, "NamnSomFörhoppningsvisInteFinns");

            LogPersonsokningRequest(fonetisktNamnRequest2);
            PersonSokResponse fonetisktNamnResponse2 = client.PersonSok(fonetisktNamnRequest2);

            LogPersonsokningResponse(fonetisktNamnResponse2);

            Logger.LogInformation("Personsökning med ett fonetiskt namn, med många träffar");
            PersonSokRequest fonetisktNamnRequest3 = CreateFonetisktNamnRequest(identifieringsInformation, "An*");

            LogPersonsokningRequest(fonetisktNamnRequest3);
            PersonSokResponse fonetisktNamnResponse3 = client.PersonSok(fonetisktNamnRequest3);

            LogPersonsokningResponse(fonetisktNamnResponse3);
        }
        public void PersonsokFonetisktIngaTraffarTest()
        {
            PersonSokResponse response = Client.PersonSok(Personsok.CreateFonetisktNamnRequest(IdentifieringsInformation, "NamnSomFörhoppningsvisInteFinns"));

            Assert.IsEmpty(response.Items);
        }
        public void PersonsokOgiltigtPersonIdTest()
        {
            PersonSokResponse response = Client.PersonSok(Personsok.CreatePersonIdRequest(IdentifieringsInformation, "191212121212"));

            Assert.IsEmpty(response.Items);
        }