private void btnLoadProjects_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; using (var mantisConnect = new org.mantisbt.www.MantisConnect(txtServerUrl.Text + _currentSettings.WebServicePath)) { ConfigPageEventArgs args = new ConfigPageEventArgs(); try { var projects = mantisConnect.mc_projects_get_user_accessible(txtUser.Text, txtPassword.Text); cbProjects.DataSource = projects; cbProjects.DisplayMember = "name"; args.IsComplete = true; } catch (Exception ex) { args.IsComplete = false; args.Exception = ex; MessageBox.Show("Could not get the list of projects: " + ex.Message, "Attention", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (OnPageEvent != null) { OnPageEvent(this, args); } } Cursor.Current = Cursors.Default; }
private void DisplayIssues(string filterId, int page) { lbCurrentAction.Text = "Getting issues..."; var mantisConnector = new org.mantisbt.www.MantisConnect(_settings.RepositoryUri.ToString() + _settings.WebServicePath); mantisConnector.mc_project_get_issuesCompleted += (s, e) => { try { DisplayIssues(page, e.Result, e.Error, e.Cancelled); _currentFilter = filterId; } catch (Exception) { MessageBox.Show("Error obteniendo datos: " + e.Error.Message, "Error"); } mantisConnector.Dispose(); }; mantisConnector.mc_filter_get_issuesCompleted += (s, e) => { try { DisplayIssues(page, e.Result, e.Error, e.Cancelled); _currentFilter = filterId; } catch (Exception) { MessageBox.Show("Error obteniendo datos: " + e.Error.Message, "Error"); } mantisConnector.Dispose(); }; if (filterId == "-1") { mantisConnector.mc_project_get_issuesAsync(_settings.UserName, _settings.Password, _settings.ProjectId.ToString(), page.ToString(), _settings.IssuesPerPage.ToString()); } else { mantisConnector.mc_filter_get_issuesAsync(_settings.UserName, _settings.Password, _settings.ProjectId.ToString(), filterId, page.ToString(), _settings.IssuesPerPage.ToString()); } }
public override void PostCommit(PostCommitArgs args) { if (_settings.AddNoteAfterCommit && _control.SelectedIssues.Any()) { using (var service = new org.mantisbt.www.MantisConnect(_settings.RepositoryUri.ToString() + _settings.WebServicePath)) { foreach (var issue in _control.SelectedIssues) { service.mc_issue_note_add(_settings.UserName, _settings.Password, issue.id, new org.mantisbt.www.IssueNoteData() { text = string.Format(_settings.AssociatedCommitNoteText, args.Revision, args.CommitMessage) }); } } } base.PostCommit(args); }
public void LoadData2(Uri repositoryUri, IDictionary <string, object> properties) { using (var mantisConnector = new org.mantisbt.www.MantisConnect(repositoryUri.ToString() + _settings.WebServicePath)) { // Would prefer to get issue headers and cached versions of the users, priorities, etc. // However, there are documented issues when there are a lot of registered users. var issueHeaders = mantisConnector.mc_project_get_issue_headers(_settings.UserName, _settings.Password, _settings.ProjectId.ToString(), "1", "100"); var filters = mantisConnector.mc_filter_get(_settings.UserName, _settings.Password, _settings.ProjectId.ToString()); var users = mantisConnector.mc_project_get_users(_settings.UserName, _settings.Password, _settings.ProjectId.ToString(), "10"). ToDictionary(x => x.id, x => x); /* lvIssues.BeginUpdate(); * for (int i = 0, count = issueHeaders.Length; i < count; i++) * { * var issueHeader = issueHeaders[i]; * var item = new ListViewItem(new[] {issueHeader.priority, issueHeader.id, issueHeader.category, * issueHeader.summary, issueHeader.status + "(" + users[issueHeader.handler].name + ")", users[issueHeader.reporter].name, issueHeader.last_updated.ToString()}); * lvIssues.Items.Add(item); * } * lvIssues.EndUpdate();*/ } }
public void LoadData(ConnectorSettings settings) { _settings = settings; if (_settings.LocalAccount) { var settingsManager = new ConnectorSettingsManager(); settingsManager.LoadLocalUserSettings(_settings); } InitializeStatusColorMapping(); var mantisConnector = new org.mantisbt.www.MantisConnect(settings.RepositoryUri.ToString() + _settings.WebServicePath); mantisConnector.mc_filter_getCompleted += (s, e) => { var filters = e.Result; var filterData = new org.mantisbt.www.FilterData() { name = "[No filter]", id = "-1" }; Array.Reverse(filters); Array.Resize(ref filters, filters.Length + 1); Array.Reverse(filters); filters[0] = filterData; tscbFilter.ComboBox.DataSource = filters; tscbFilter.ComboBox.DisplayMember = "name"; mantisConnector.Dispose(); }; lbCurrentAction.Text = "Getting filters..."; mantisConnector.mc_filter_getAsync(settings.UserName, settings.Password, settings.ProjectId.ToString()); }