public async Task CloseIssue(CloseIssueParameters parameters) { var closeResult = await _gitLabFacade.CloseIssue(parameters); if (closeResult.IsFailure) { _presenter.ShowError("Failed to close issue", closeResult.Error); return; } _presenter.ShowSuccess($"Successfully closed issue #{parameters.IssueId}"); }
public async Task <Result <Issue> > CloseIssue(CloseIssueParameters parameters) { var client = await _clientFactory.Create(); string projectId = await GetProjectId(client, parameters.Project); if (projectId == null) { return(Result.Fail <Issue>($"Project {parameters.Project} was not found")); } var closedIssue = await client.Issues.UpdateAsync(new UpdateIssueRequest(projectId, parameters.IssueId) { State = UpdatedIssueState.Close }); return(Result.Ok(closedIssue)); }
public async Task <Result> CloseIssue(CloseIssueParameters parameters) => await SafeGetResult(() => _issuesFacade.CloseIssue(parameters));