예제 #1
0
        /// <inheritdoc/>
        protected override async Task <object> CallGitHubApi(DialogContext dc, Octokit.GitHubClient gitHubClient, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (Owner != null && Name != null && DeploymentId != null && Options != null)
            {
                var ownerValue        = Owner.GetValue(dc.State);
                var nameValue         = Name.GetValue(dc.State);
                var deploymentIdValue = DeploymentId.GetValue(dc.State);
                var optionsValue      = Options.GetValue(dc.State);
                return(await gitHubClient.Repository.Deployment.Status.GetAll(ownerValue, nameValue, (Int32)deploymentIdValue, optionsValue).ConfigureAwait(false));
            }
            if (Owner != null && Name != null && DeploymentId != null)
            {
                var ownerValue        = Owner.GetValue(dc.State);
                var nameValue         = Name.GetValue(dc.State);
                var deploymentIdValue = DeploymentId.GetValue(dc.State);
                return(await gitHubClient.Repository.Deployment.Status.GetAll(ownerValue, nameValue, (Int32)deploymentIdValue).ConfigureAwait(false));
            }
            if (RepositoryId != null && DeploymentId != null && Options != null)
            {
                var repositoryIdValue = RepositoryId.GetValue(dc.State);
                var deploymentIdValue = DeploymentId.GetValue(dc.State);
                var optionsValue      = Options.GetValue(dc.State);
                return(await gitHubClient.Repository.Deployment.Status.GetAll((Int64)repositoryIdValue, (Int32)deploymentIdValue, optionsValue).ConfigureAwait(false));
            }
            if (RepositoryId != null && DeploymentId != null)
            {
                var repositoryIdValue = RepositoryId.GetValue(dc.State);
                var deploymentIdValue = DeploymentId.GetValue(dc.State);
                return(await gitHubClient.Repository.Deployment.Status.GetAll((Int64)repositoryIdValue, (Int32)deploymentIdValue).ConfigureAwait(false));
            }

            throw new ArgumentNullException("Required [deploymentId] arguments missing for GitHubClient.Repository.Deployment.Status.GetAll");
        }