/// <summary> /// Updates the DisplayScriptResult from a StackHashScriptResultFile /// </summary> /// <param name="stackHashScriptResultFile">StackHashScriptResultFile</param> public void UpdateScriptResult(StackHashScriptResultFile stackHashScriptResultFile) { if (stackHashScriptResultFile == null) { throw new ArgumentNullException("stackHashScriptResultFile"); } if (stackHashScriptResultFile.ScriptName != _stackHashScriptResultFile.ScriptName) { throw new InvalidOperationException("Cannot update from a script result with a different script name"); } // save the old result StackHashScriptResultFile oldResult = _stackHashScriptResultFile; _stackHashScriptResultFile = stackHashScriptResultFile; // check for updates if (oldResult.UserName != _stackHashScriptResultFile.UserName) { RaisePropertyChanged("UserName"); } if (oldResult.RunDate != _stackHashScriptResultFile.RunDate) { RaisePropertyChanged("RunDate"); } }
/// <summary> /// StackHashScriptResultFile wrapper class /// </summary> /// <param name="stackHashScriptResultFile">StackHashScriptResultFile</param> public DisplayScriptResult(StackHashScriptResultFile stackHashScriptResultFile) { if (stackHashScriptResultFile == null) { throw new ArgumentNullException("stackHashScriptResultFile"); } _stackHashScriptResultFile = stackHashScriptResultFile; }
/// <summary> /// Gets the results files for the specified cab. /// </summary> /// <param name="product">Product to which the cab belongs</param> /// <param name="file">File to which the cab belongs</param> /// <param name="theEvent">Event to which the cab belongs</param> /// <param name="cab">Cab to get results for.</param> /// <returns>All script results for specified cab.</returns> public StackHashScriptResultFiles GetResultFiles(StackHashProduct product, StackHashFile file, StackHashEvent theEvent, StackHashCab cab) { // Unwrap the cab if necessary. String cabFileFolder = m_ErrorIndex.GetCabFolder(product, file, theEvent, cab); cabFileFolder += "\\Analysis"; // Get a list of the results log files. String[] files; if (Directory.Exists(cabFileFolder)) { files = Directory.GetFiles(cabFileFolder, "*.log"); } else { files = new String[0]; } StackHashScriptResultFiles resultFiles = new StackHashScriptResultFiles(); foreach (String fileName in files) { // Need to get whether it is an auto or user script. String fileNameNoExtension = Path.GetFileNameWithoutExtension(fileName); StackHashScriptSettings scriptSettings = m_ScriptManager.LoadScript(fileNameNoExtension, true); StackHashScriptResultFile resultFile = new StackHashScriptResultFile(); resultFile.RunDate = File.GetLastWriteTimeUtc(fileName); resultFile.ScriptName = Path.GetFileNameWithoutExtension(fileName); if ((scriptSettings == null) || (scriptSettings.Owner == StackHashScriptOwner.System)) { resultFile.UserName = "******"; } else { resultFile.UserName = "******"; } resultFiles.Add(resultFile); } return(resultFiles); }