/// <summary> /// Gets the commit message. /// See Documentation of <see cref="Interop.BugTraqProvider.IBugTraqProvider2"/> /// </summary> /// <param name="hParentWnd">Handle to parent window.</param> /// <param name="parameters">The parameter string.</param> /// <param name="commonURL">The parent URL of all items.</param> /// <param name="commonRoot">Parent root of all items</param> /// <param name="pathList">Pathes of the items.</param> /// <param name="originalMessage">The original commit message.</param> /// <param name="bugID">The bug ID.</param> /// <param name="bugIDOut">The bug ID out.</param> /// <param name="revPropNames">The revision property names.</param> /// <param name="revPropValues">The revision property values.</param> /// <returns>The new commit message.</returns> public string GetCommitMessage2(IntPtr hParentWnd, string parameters, string commonURL, string commonRoot, string[] pathList, string originalMessage, string bugID, out string bugIDOut, out string[] revPropNames, out string[] revPropValues) { bugIDOut = bugID; revPropNames = new string[0]; revPropValues = new string[0]; if (!PluginParameter.Validate(parameters)) { MessageBox.Show(StringResources.Error_ParameterInvalid, StringResources.ErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(originalMessage); } PluginParameter parameter = new PluginParameter(parameters); Microkernel.RegisterInstance(parameter.GetType(), parameter); IDataProvider dataProvider = Microkernel.Resolve <IDataProvider>(parameter.DataProvider); MainForm main = new MainForm(dataProvider); if (main.ShowDialog() == DialogResult.OK) { string newBugIds = String.Join(",", main.SelectedIssues.Select(issue => issue.Id.ToString()).ToArray()); if (!String.IsNullOrEmpty(bugID)) { bugIDOut = String.Concat(bugID, ",", newBugIds); } else { bugIDOut = newBugIds; } return(String.Concat(originalMessage, Environment.NewLine, Environment.NewLine, "fixes " + String.Join(", ", main.SelectedIssues.Select(issue => String.Format("#{0}", issue.Id)).ToArray()))); } return(originalMessage); }
/// <summary> /// Validates the plugin parameters. /// </summary> /// <param name="hParentWnd">Handle to the parent window.</param> /// <param name="parameters">The parameter string.</param> /// <returns><code>true</code> if parameters are valid; otherwise <code>false</code>.</returns> public bool ValidateParameters(IntPtr hParentWnd, string parameters) { return(PluginParameter.Validate(parameters)); }