コード例 #1
0
        /// <summary>
        /// Perform calculations and update data model
        /// </summary>
        /// <example>
        /// if (instance.GetType() == typeof(Skjema)
        /// {
        ///     Skjema model = (Skjema)instance;
        ///     // Perform calculations and manipulation of data model here
        /// }
        /// </example>
        /// <param name="instance">The data</param>
        public async Task <bool> Calculate(object instance)
        {
            if (instance.GetType() == typeof(ePOB_M))
            {
                ePOB_M model = (ePOB_M)instance;
                if (model.PersonInformasjon.harpostadrsammesombosted != null)
                {
                    model.PersonInformasjon.postadresse.land = model.PersonInformasjon.bostedsadresse.land;
                    model.PersonInformasjon.postadresse.adressebeskrivelse = model.PersonInformasjon.bostedsadresse.adressebeskrivelse;
                    model.PersonInformasjon.postadresse.postnummer         = model.PersonInformasjon.bostedsadresse.postnummer;
                    model.PersonInformasjon.postadresse.poststed           = model.PersonInformasjon.bostedsadresse.poststed;
                }

                if
                (model?.PersonInformasjon?.person?.naavaandestatsborgerskap?.statsborgerfrafodsel == "Ja")
                {
                    model.PersonInformasjon.person.naavaandestatsborgerskap.fraDato = model.PersonInformasjon.person.foedselsdato;
                }

                //TODO: må lage generics av dette.

                /*if(model?.FlereGjeldendeStatsborgerskap?.statsborgerfrafodsel == "Ja")
                 * {
                 *  model.FlereGjeldendeStatsborgerskap.fraDato = model.PersonInformasjon.person.foedselsdato;
                 * }*/

                return(true);
            }

            return(await Task.FromResult(false));
        }
コード例 #2
0
        private void Addfodselsdato(ePOB_M model, string foedselsnummer)
        {
            if (foedselsnummer != null)
            {
                string century = "20";
                int    year    = int.Parse(foedselsnummer.Substring(4, 2));
                if (year >= 20 && year <= 99)
                {
                    century = "19";
                }

                model.PersonInformasjon.person.foedselsdato = century + foedselsnummer.Substring(4, 2) + "-" + foedselsnummer.Substring(2, 2) + "-" + foedselsnummer.Substring(0, 2);
            }
        }
コード例 #3
0
        public async void NsmKlareringsportalenEndToEndTest()
        {
            /* SETUP */
            string instanceOwnerPartyId = "1337";

            Instance instanceTemplate = new Instance()
            {
                InstanceOwner = new InstanceOwner
                {
                    PartyId = instanceOwnerPartyId,
                }
            };

            ePOB_M svar = new ePOB_M();

            svar.DeusRequest = new Deusrequest();
            svar.DeusRequest.clearauthority = "Sivil";
            svar.DeusRequest.nationallevel  = "1";

            string xml = string.Empty;

            using (var stringwriter = new System.IO.StringWriter())
            {
                XmlSerializer serializer = new XmlSerializer(typeof(ePOB_M));
                serializer.Serialize(stringwriter, svar);
                xml = stringwriter.ToString();
            }

            #region Org instansiates form with message
            string instanceAsString = JsonConvert.SerializeObject(instanceTemplate);

            string boundary = "abcdefgh";
            MultipartFormDataContent formData = new MultipartFormDataContent(boundary)
            {
                { new StringContent(instanceAsString, Encoding.UTF8, "application/json"), "instance" },
                { new StringContent(xml, Encoding.UTF8, "application/xml"), "epob" },
            };

            Uri uri = new Uri("/nsm/klareringsportalen/instances", UriKind.Relative);

            /* TEST */

            HttpClient client = SetupUtil.GetTestClient(_factory, "nsm", "klareringsportalen");
            string     token  = PrincipalUtil.GetOrgToken("nsm");
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

            HttpResponseMessage response = await client.PostAsync(uri, formData);

            string responsestring = await response.Content.ReadAsStringAsync();

            response.EnsureSuccessStatusCode();

            Assert.True(response.StatusCode == HttpStatusCode.Created);

            Instance createdInstance = JsonConvert.DeserializeObject <Instance>(await response.Content.ReadAsStringAsync());

            Assert.NotNull(createdInstance);
            Assert.Single(createdInstance.Data);
            #endregion

            #region end user gets instance

            // Reset token and client to end user
            client = SetupUtil.GetTestClient(_factory, "nsm", "klareringsportalen");
            token  = PrincipalUtil.GetToken(1337, 4);
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

            string instancePath = "/nsm/klareringsportalen/instances/" + createdInstance.Id;

            HttpRequestMessage httpRequestMessage =
                new HttpRequestMessage(HttpMethod.Get, instancePath);

            response = await client.SendAsync(httpRequestMessage);

            string responseContent = await response.Content.ReadAsStringAsync();

            Instance instance = (Instance)JsonConvert.DeserializeObject(responseContent, typeof(Instance));

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal("1337", instance.InstanceOwner.PartyId);
            Assert.Equal("Task_1", instance.Process.CurrentTask.ElementId);
            Assert.Single(instance.Data);
            #endregion

            TestDataUtil.DeleteInstanceAndData("nsm", "klareringsportalen", 1337, new Guid(createdInstance.Id.Split('/')[1]));
        }
コード例 #4
0
        /// <summary>
        /// Run events related to instantiation
        /// </summary>
        /// <remarks>
        /// For example custom prefill.
        /// </remarks>
        /// <param name="instance">Instance information</param>
        /// <param name="data">The data object created</param>
        public async Task DataCreation(Instance instance, object data)
        {
            ePOB_M model = (ePOB_M)data;

            if (model.PersonInformasjon == null)
            {
                model.PersonInformasjon = new Personalia();
            }

            if (model.PersonInformasjon.person == null)
            {
                model.PersonInformasjon.person = new Person();
            }

            if (model.PersonInformasjon.postadresse == null)
            {
                model.PersonInformasjon.postadresse = new Adresse();
            }

            if (model.DeusRequest == null)
            {
                model.DeusRequest = new Deusrequest();
            }

            if (model.PersonRelasjoner == null)
            {
                model.PersonRelasjoner = new Relasjoner();
            }

            if (model.Samboerellerektefelle == null)
            {
                model.Samboerellerektefelle = new Samboerektefelle();
            }

            if (model.PersonligOkonomi == null)
            {
                model.PersonligOkonomi = new OEkonomi();
            }

            if (model.HelsePerson == null)
            {
                model.HelsePerson = new Helse();
            }

            if (model.PersonRusmidler == null)
            {
                model.PersonRusmidler = new Rusmidler();
            }

            if (model.Straff == null)
            {
                model.Straff = new Strafferettslig();
            }

            if (model.StatsTilknytning == null)
            {
                model.StatsTilknytning = new Statstilknytning();
            }

            if (model.SikkerhetsOpplysninger == null)
            {
                model.SikkerhetsOpplysninger = new Sikkerhetsopplysninger();
            }

            Altinn.Platform.Register.Models.Party party = await _registerService.GetParty(Convert.ToInt32(instance.InstanceOwner.PartyId));

            model.PersonInformasjon.person.personnavn.fulltnavn = party.Name;
            Addfodselsdato(model, model.PersonInformasjon.person.foedselsnummer);

            model.PersonInformasjon.bostedsadresse.land = "NOR";

            model.PersonInformasjon.postadresse.land = "NOR";

            model.PersonInformasjon.prefiksnr                    = "47";
            model.PersonInformasjon.sivilstatus                  = "Ugift";
            model.PersonInformasjon.hattandrepersonnummer        = "Nei";
            model.PersonInformasjon.hatttidligerenavn            = "Nei";
            model.PersonInformasjon.harandrestatsborgerskap      = "Nei";
            model.PersonInformasjon.hatttidligerestatsborgerskap = "Nei";
            model.PersonInformasjon.ishatttidligerenavn          = false;
            model.PersonRelasjoner.fodtannetlandmor              = "Nei";
            model.PersonRelasjoner.fodtannetlandfar              = "Nei";
            model.PersonInformasjon.harandreiddokumenter         = "Nei";
            model.PersonInformasjon.hattoppholdutland            = "Nei";
            model.PersonInformasjon.hattoppholdeu                = "Nei";

            model.Samboerellerektefelle.hattsamboerstatsborgerandreland = "Nei";
            model.Samboerellerektefelle.hattoppholdutland = "Nei";
            model.Samboerellerektefelle.hattoppholdeos    = "Nei";

            model.PersonligOkonomi.hattprivatelaan     = "Nei";
            model.PersonligOkonomi.hattmislighold      = "Nei";
            model.PersonligOkonomi.hattpengespill      = "Nei";
            model.PersonligOkonomi.harinvesteringer    = "Nei";
            model.PersonligOkonomi.harmottattpenger    = "Nei";
            model.PersonligOkonomi.harsentpenger       = "Nei";
            model.PersonligOkonomi.okonomiskesituasjon = "God";

            model.HelsePerson.hattsykdom         = "Nei";
            model.HelsePerson.hattvurderingsevne = "Nei";
            model.HelsePerson.hattlegemidler     = "Nei";

            model.PersonRusmidler.hattalkoholreaksjoner = "Nei";
            model.PersonRusmidler.hattalkoholhendelser  = "Nei";
            model.PersonRusmidler.hattdoping            = "Nei";
            model.PersonRusmidler.hattbruktnarkotika    = "Nei";
            model.PersonRusmidler.hattbehandlingrus     = "Nei";
            model.PersonRusmidler.hattakan = "Nei";

            model.Straff.hattlovbruddnorge  = "Nei";
            model.Straff.hattlovbruddutland = "Nei";
            model.Straff.hattrefselse       = "Nei";

            model.StatsTilknytning.hattkontaktetteretning = "Nei";
            model.StatsTilknytning.hatttjenestemilitaere  = "Nei";
            model.StatsTilknytning.harstudertutland       = "Nei";
            model.StatsTilknytning.hatttjenensterutland   = "Nei";

            model.SikkerhetsOpplysninger.harandreforhold         = "Nei";
            model.SikkerhetsOpplysninger.hattkontaktkriminalitet = "Nei";
            model.SikkerhetsOpplysninger.hattKontaktterror       = "Nei";
            await Task.CompletedTask;
        }