コード例 #1
0
ファイル: Initiator.cs プロジェクト: mahlin/InrappSos
        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);
        }