public async Task CreateIssue(CreateIssueParameters parameters) { var issueResult = await _gitLabFacade.CreateIssue(parameters); if (issueResult.IsFailure) { _presenter.ShowError("Failed to create issue", issueResult.Error); return; } _presenter.ShowSuccess($"Successfully created issue #{issueResult.Value}"); }
public async Task <Result <int> > CreateIssue(CreateIssueParameters parameters) { var client = await _clientFactory.Create(); string projectId = await GetProjectId(client, parameters.Project); if (projectId == null) { return(Result.Fail <int>($"Project {parameters.Project} was not found")); } int?assigneeId = await GetUserId(client, parameters.AssignedToCurrentUser, parameters.Assignee); var createdIssue = await client.Issues.CreateAsync(new CreateIssueRequest(projectId, parameters.Title) { Description = parameters.Description, Labels = parameters.Labels, Assignees = assigneeId.HasValue ? new List <int> { assigneeId.Value } : null, }); return(Result.Ok(createdIssue.Iid)); }
public async Task <Result <int> > CreateIssue(CreateIssueParameters parameters) => await SafeGetResult(() => _issuesFacade.CreateIssue(parameters));