public void Initiate() { //Hämta alla organisationer var orgList = _portalSosService.HamtaAllaOrganisationer().ToList(); var antOrg = orgList.Count(); var antNyaRollOrganisationsenhet = 0; foreach (var org in orgList) { //Hämta organisationens kontakpersoner var contacts = _portalSosService.HamtaKontaktpersonerForOrg(org.Id); foreach (var contact in contacts) { //Hämta varje kontakts valda delregister var userId = _portalSosService.HamtaAnvandarId(contact); var userName = _portalSosService.HamtaAnvandaresNamn(userId); var rollList = _portalSosService.HamtaValdaDelregisterRollForAnvandare(userId); foreach (var roll in rollList) { //Hämta aktiv uppgiftsskyldighet för valt delregister var uppgskh = _portalSosService.HamtaAktivUppgiftsskyldighetForOrganisationOchRegister(org.Id, roll.DelregisterId); if (uppgskh != null) { if (uppgskh.RapporterarPerEnhet) { //Hämta aktiva enhetsuppgiftsskyldigheter var enhetsuppgskhList = _portalSosService.HamtaAktivEnhetsUppgiftsskyldighetForUppgiftsskyldighet(uppgskh.Id); foreach (var enhetsuppgskh in enhetsuppgskhList) { var exists = _portalSosService.HamtaRollOrgenhet(roll.Id, enhetsuppgskh.OrganisationsenhetsId); if (exists == null) { var rollOrgUnit = new RollOrganisationsenhet { RollId = roll.Id, OrganisationsenhetsId = enhetsuppgskh.OrganisationsenhetsId, SkapadDatum = DateTime.Now, SkapadAv = "InitializeRollOrganisationsenhet" }; _portalSosService.SparaRollOrganisationsenhet(rollOrgUnit); Console.WriteLine("Sparar RollOrganisationsenhet för orgid: " + org.Id + ". Kontaktperson: " + userName); Log("Sparar RollOrganisationsenhet för orgid: " + org.Id + ". Kontaktperson: " + userName); antNyaRollOrganisationsenhet++; } } } } } } } Console.WriteLine("Antal kontrollerade organisationer: " + antOrg); Log("Antal kontrollerade organisationer: " + antOrg); Console.WriteLine("Antal nya RollOrganisationshet: " + antNyaRollOrganisationsenhet); Log("Antal nya RollOrganisationshet: " + antNyaRollOrganisationsenhet); }