private IEmployee GetEmployee(SykmeldingArbeidsgiver sm) { var sykmeldingPasient = sm.sykmelding.pasient; var socialSecurityNumber = sykmeldingPasient.ident; IEmployee employee = null; var employeeSearchParameters = new SearchQueryEmployee() { SocialSecurityNumber = socialSecurityNumber }; employee = _employeeService.SearchEmployee(employeeSearchParameters).Result.FirstOrDefault(); if (employee == null) { var possiblEmployeeMatch = _employeeService.SearchEmployee(new SearchQueryEmployee { FirstName = sykmeldingPasient.navn.fornavn, LastName = sykmeldingPasient.navn.etternavn }); employee = possiblEmployeeMatch.Result.FirstOrDefault(); } return(employee); }
private NavMessage CreateHrManagerMessage(string referenceId, string businessOrganizationNumber, object hrMananger, SykmeldingArbeidsgiver sm) { var sykmeldingPasient = sm.sykmelding.pasient; var socialSecurityNumber = sykmeldingPasient.ident; //todo: check if this business is paying salary to the employee in the employer-period (arbeidsgiverperioden, first 16days) bool businessPayingSalaryInEmployerPeriod = true; //todo: Create a new "OppgiPersonalleder"/(Provide HR Manager)-message and persist in database var provideHrManagerMessage = new OppgiPersonalleder_M() { Skjemainnhold = new Skjemainnhold() { hendelseId = sm.sykmeldingId, naermesteLeder = new NaermesteLeder() { }, //map data from hrManager organisasjonsnummer = sm.virksomhetsnummer, utbetalesLonn = businessPayingSalaryInEmployerPeriod, utbetalesLonnSpecified = true, sykmeldt = new Sykmeldt() { sykmeldtFoedselsnummer = socialSecurityNumber, sykmeldtNavn = $"{sykmeldingPasient.navn.fornavn} {sykmeldingPasient.navn.mellomnavn} {sykmeldingPasient.navn.etternavn}", } } }; var messageXml = _serializer.Serialize(provideHrManagerMessage); var navHrManagerMessage = new NavMessage() { MessageXml = messageXml, Namespace = OppgiLeder_Namespace, IntegrationType = IntegrationType.Export, WorkState = WorkState.ReadyforExport, ReferenceId = referenceId, BusinessOrganizationNumber = businessOrganizationNumber }; return(navHrManagerMessage); }