コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <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));
 }