Esempio n. 1
0
 /// <summary>
 /// Runs powershell <see cref="PSScript"/>
 /// </summary>
 /// <param name="script"></param>
 public static async Task <ScriptOutput> ExecuteScriptAsync(PSScript script)
 {
     return(await ExecuteScriptFileAsync(script.Path, script.Parameters.ToDictionary(), script.WorkingDirectory));
 }
Esempio n. 2
0
        public static void LoadConfiguration()
        {
            string fullFileName = Path.Combine(Assembly.GetExecutingAssembly().Location, fileName);

            if (!LocalConfig)
            {
                fullFileName = Path.Combine(GetLocalStoragePath(), fileName);
            }
            if (File.Exists(fullFileName))
            {
                try {
                    XmlDocument doc = new XmlDocument();
                    doc.Load(fullFileName);
                    LoadFarmList(doc);
                    buildNotifications.Clear();
                    foreach (XmlNode node in doc.GetElementsByTagName("buildNotifications"))
                    {
                        if (node != null)
                        {
                            foreach (XmlNode bnNode in node.ChildNodes)
                            {
                                BuildNotification         bn   = (BuildNotification)SmartCCNetHelper.GetSerializedObject(bnNode.InnerText);
                                BuildNotificationViewInfo bnvi = new BuildNotificationViewInfo(bn);
                                bnvi.Read = true;
                                buildNotifications.Add(bnvi);
                            }
                        }
                    }
                    trackedProjects.Clear();
                    foreach (XmlNode node in doc.GetElementsByTagName("trackedProject"))
                    {
                        if (node.ParentNode != null && node.ParentNode.Name == "trackedProjects")
                        {
                            ProjectShortInfo info = new ProjectShortInfo();
                            foreach (XmlAttribute attr in node.Attributes)
                            {
                                switch (attr.Name)
                                {
                                case "name":
                                    info.Name = attr.Value;
                                    break;

                                case "status":
                                    info.BuildStatus = attr.Value;
                                    break;
                                }
                            }
                            trackedProjects.Add(info);
                        }
                    }
                    powerShellScripts.Clear();
                    foreach (XmlNode node in doc.GetElementsByTagName("PowerShellScript"))
                    {
                        if (node != null)
                        {
                            foreach (XmlNode scriptNode in node.ChildNodes)
                            {
                                PSScript script = (PSScript)SmartCCNetHelper.GetSerializedObject(scriptNode.InnerText);
                                powerShellScripts.Add(script);
                            }
                        }
                    }
                    UsePowerShellScript = LoadBoolean(doc, "UsePowerShellScript", false);
                    LoadLayoutAndGrid(doc);
                    gridNotificationsXml = LoadString(doc, "gridNotificationsXml", string.Empty);
                    alwaysOnTop          = LoadBoolean(doc, "alwaysOnTop", defaultAlwaysOnTop);
                    minimized            = LoadBoolean(doc, "minimized", defaultMinimized);
                    formWidth            = LoadInt(doc, "formWidth", defaultFormWidth);
                    formHeight           = LoadInt(doc, "formHeight", defaultFormHeight);
                    formLeft             = LoadInt(doc, "formLeft", defaultFormLeft);
                    formTop     = LoadInt(doc, "formTop", defaultFormTop);
                    refreshTime = LoadInt(doc, "refreshTime", defaultRefreshTime);
                    LoadUpdateUrl(doc);
                    workUserName = LoadString(doc, "workUserName", string.Empty);
                    if (string.IsNullOrEmpty(workUserName))
                    {
                        workUserName = defaultUserName;
                    }
                    useSkin                      = LoadBoolean(doc, "useSkin", defaultUseSkin);
                    needAskForStutup             = LoadBoolean(doc, "needAskForStutup", true);
                    alreadyReloadGridTestsLayout = LoadBoolean(doc, "alreadyReloadGridTestsLayout", defaultAlreadyReloadGridTestsLayout);
                    skinName                     = LoadString(doc, "skinName", defaultSkinName);
                    popupHideTimeout             = LoadInt(doc, "popupHideTimeout", defaultPopupHideTimeout);
                    string tempString;
                    if (TryLoadString(doc, "volunteerColorString", out tempString))
                    {
                        VolunteerColorString = tempString;
                    }
                    else
                    {
                        LoadDefaultVolunteerColors();
                    }
                    byte[] lastProjectDurationDictionaryData = LoadBase64(doc, "lastProjectDurationDictionary", null);
                    ProjectInfo.LoadLastBuildDurationDict(lastProjectDurationDictionaryData);
                } catch (Exception exc) {
                    Log.Error("exception", exc);
                    LoadDefaultConfiguration();
                }
            }
            else
            {
                LoadDefaultConfiguration();
            }
            DXCCTrayConfiguration.CanSetConfig = false;
        }
Esempio n. 3
0
 /// <summary>
 /// Runs powershell <see cref="PSScript"/>
 /// </summary>
 /// <param name="script"></param>
 public static ScriptOutput ExecuteScript(PSScript script)
 {
     return(ExecuteScriptFile(script.Path, script.Parameters.ToDictionary(), script.WorkingDirectory));
 }