/// <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)); }
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); } }
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])); }
/// <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; }