public bool CreateAndStartRunbookJob(Runbook_Operation op, out string errorStr)
        {
            //System.IO.File.AppendAllText(@"C:\logs\adusercreation\service_log.txt", DateTime.Now + " - User: "******" called runbook service" + Environment.NewLine);
            OperationParameter operationParameters = CreateRunbookParameters(op);

            return(CreateRunbookJob(operationParameters, out errorStr));
        }
        private bool CreateADUser(Runbook_Operation op, out string errorStr)
        {
            //set test eller actual runbook id
            RunbookService runbook = new RunbookService(Properties.Settings.Default.RunbookUsername, Properties.Settings.Default.RunbookPassword, Properties.Settings.Default.orchestratorApiAddress, Properties.Settings.Default.runbookId);

            return(runbook.CreateAndStartRunbookJob(op, out errorStr));
        }
        private OperationParameter CreateRunbookParameters(Runbook_Operation op)
        {
            var runbookParams = new List <NameValuePair>();

            //Fordi microsoft har "glemt" type casting, caster SMA serveren selv værdierne - følgende er et hack til at komme uden om buggen
            string strHack = "DefaultString:";

            runbookParams.Add(new NameValuePair()
            {
                Name = "BestillerSamaccount", Value = strHack + op.BestillerSamaccount
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "Opus_medarbejdernr", Value = strHack + op.Opus_medarbejdernr
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "CPRnummer", Value = strHack + op.CPRnummer
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "Fornavn", Value = strHack + op.Fornavn
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "Efternavn", Value = strHack + op.Efternavn
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "Vistnavn", Value = strHack + op.Vistnavn
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "ManagerSamaccount", Value = strHack + op.ManagerSamaccount
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "CoworkerSamaccount", Value = strHack + op.CoworkerSamaccount
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsEmail", Value = strHack + op.IsEmail
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "KontaktTelefonNummer", Value = strHack + op.KontaktTelefonNummer
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsSkype", Value = strHack + op.IsSkype
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsRingegruppe", Value = strHack + op.IsRingegruppe
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "RingegruppeNummer", Value = strHack + op.RingegruppeNummer
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "MobilNummer", Value = strHack + op.MobilNummer
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsDistributionslister", Value = strHack + op.IsDistributionslister
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "DistributionslisterNavne", Value = strHack + op.DistributionslisterNavne
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsFaellespostkasser", Value = strHack + op.IsFaellespostkasser
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "FaellespostkasserNavne", Value = strHack + op.FaellespostkasserNavne
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsNemID", Value = strHack + op.IsNemID
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "Ean", Value = strHack + op.Ean
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsCura", Value = strHack + op.IsCura
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "CuraBrugerRolle", Value = strHack + op.CuraBrugerRolle
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsCuraPlanner", Value = strHack + op.IsCuraPlanner
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsCuraFMK", Value = strHack + op.IsCuraFMK
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "CuraFMKID", Value = strHack + op.CuraFMKID
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsKMDbruger", Value = strHack + op.IsKMDbruger
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "KMDUserProfiles", Value = strHack + op.KMDUserProfiles
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsKMDOpusOkonomiBilagsbehandling", Value = strHack + op.IsKMDOpusOkonomiBilagsbehandling
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "KMDProfitcenterOmkostningssted", Value = strHack + op.KMDProfitcenterOmkostningssted
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsKMDFaktura", Value = strHack + op.IsKMDFaktura
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "KMDOpusOkonomiEan", Value = strHack + op.KMDOpusOkonomiEan
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsKMDBudgetOmplacering", Value = strHack + op.IsKMDBudgetOmplacering
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsKMDMitForventedeRegnskab", Value = strHack + op.IsKMDMitForventedeRegnskab
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "IsKMDLoenOgPersonale", Value = strHack + op.IsKMDLoenOgPersonale
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "KMDOrgUnit", Value = strHack + op.KMDOrgUnit
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "Bemaerkninger", Value = strHack + op.Bemaerkninger
            });
            runbookParams.Add(new NameValuePair()
            {
                Name = "CuraLoginORGs", Value = strHack + op.CuraLoginORGs
            });
            return(new BodyOperationParameter("parameters", runbookParams));
        }
        internal bool CreateUser(string opus_medarbejdernr,
                                 string fornavn,
                                 string efternavn,
                                 string vistnavn,

                                 string managerSamaccount,
                                 string coworkerSamaccount,
                                 bool isEmail,

                                 string kontaktTelefonNummer,
                                 bool isSkype,
                                 bool isRingegruppe,
                                 string ringegruppeNummer,
                                 string mobilNummer,

                                 bool isDistributionslister,
                                 string distributionslisterNavne,
                                 bool isFaellespostkasser,
                                 string faellespostkasserNavne,

                                 bool isNemID,
                                 string ean,

                                 bool isCura,
                                 string curaBrugerRolle,
                                 bool isCuraPlanner,
                                 bool isCuraFMK,
                                 string curaFMKID,

                                 bool isKMDbruger,
                                 string kMDUserProfiles,

                                 bool isKMDOpusOkonomiBilagsbehandling,
                                 string kMDProfitcenterOmkostningssted,
                                 bool isKMDFaktura,
                                 string kMDOpusOkonomiEan,
                                 bool isKMDBudgetOmplacering,
                                 bool isKMDMitForventedeRegnskab,

                                 bool isKMDLoenOgPersonale,
                                 string kMDOrgUnit,

                                 string bemaerkninger,

                                 string curaLoginORGs,
                                 out string errorStr)
        {
            string            bestillerSamaccount = GetCurrentUserADUsername();
            string            cpr = GetCpr(int.Parse(opus_medarbejdernr));
            Runbook_Operation ro  = new Runbook_Operation()
            {
                BestillerSamaccount = bestillerSamaccount,
                Opus_medarbejdernr  = opus_medarbejdernr,
                CPRnummer           = cpr,
                Fornavn             = fornavn,
                Efternavn           = efternavn,
                Vistnavn            = vistnavn,

                ManagerSamaccount  = managerSamaccount,
                CoworkerSamaccount = coworkerSamaccount,
                IsEmail            = isEmail,

                KontaktTelefonNummer = kontaktTelefonNummer,
                IsSkype           = isSkype,
                IsRingegruppe     = isRingegruppe,
                RingegruppeNummer = ringegruppeNummer,
                MobilNummer       = mobilNummer,

                IsDistributionslister    = isDistributionslister,
                DistributionslisterNavne = distributionslisterNavne,
                IsFaellespostkasser      = isFaellespostkasser,
                FaellespostkasserNavne   = faellespostkasserNavne,

                IsNemID = isNemID,
                Ean     = ean,

                IsCura          = isCura,
                CuraBrugerRolle = curaBrugerRolle,
                IsCuraPlanner   = isCuraPlanner,
                IsCuraFMK       = isCuraFMK,
                CuraFMKID       = curaFMKID,

                IsKMDbruger     = isKMDbruger,
                KMDUserProfiles = kMDUserProfiles,

                IsKMDOpusOkonomiBilagsbehandling = isKMDOpusOkonomiBilagsbehandling,
                KMDProfitcenterOmkostningssted   = kMDProfitcenterOmkostningssted,
                IsKMDFaktura               = isKMDFaktura,
                KMDOpusOkonomiEan          = kMDOpusOkonomiEan,
                IsKMDBudgetOmplacering     = isKMDBudgetOmplacering,
                IsKMDMitForventedeRegnskab = isKMDMitForventedeRegnskab,

                IsKMDLoenOgPersonale = isKMDLoenOgPersonale,
                KMDOrgUnit           = kMDOrgUnit,

                Bemaerkninger = bemaerkninger,

                CuraLoginORGs = curaLoginORGs
            };

            return(CreateADUser(ro, out errorStr));
        }