Esempio n. 1
0
        public async Task <ActionResult <GeminiIssue> > GetGeminiIssueById(
            long issueId,
            [FromQuery] SingleIssueQueryParameter singleIssueQueryParameter)
        {
            var issue = await _geminiRepository.GetIssueAsync(issueId, singleIssueQueryParameter, CancellationToken.None).ConfigureAwait(false);

            if (issue == null)
            {
                return(NotFound());
            }

            var item = _mapper.Map <GeminiIssue>(issue);

            item.IssueUri = _geminiUrlHelper.BuilIssuedUri(item);

            if (singleIssueQueryParameter.IncludeFields != true)
            {
                var fields = await _geminiRepository.GetCustomDetailsAsync(new List <decimal> {
                    issueId
                }, CancellationToken.None).ConfigureAwait(false);

                var custom = fields.FirstOrDefault();
                if (fields.Any() && custom.Value.Any(x => x.CustomFieldId == _geminiRepository.SprintCustomFieldId))
                {
                    var sprint = custom.Value.First(c => c.CustomFieldId == _geminiRepository.SprintCustomFieldId).NumericData;
                    item.Sprint = sprint is not null
                        ? decimal.ToInt32(sprint.Value).ToString(CultureInfo.InvariantCulture)
                        : string.Empty;
                }
            }

            return(Ok(item));
        }
Esempio n. 2
0
        public Task <GeminiIssueEntity?> GetIssueAsync(decimal issueId, SingleIssueQueryParameter singleIssueQueryParameter, CancellationToken token)
        {
            var json  = JsonConvert.SerializeObject(_geminiIssueEntities.First());
            var issue = JsonConvert.DeserializeObject <GeminiIssueEntity>(json);

            if (singleIssueQueryParameter.IncludeFields == true)
            {
                issue.CustomFields = _custom01;
            }

            if (singleIssueQueryParameter.IncludeHistory == true)
            {
                issue.HistoryItems = _history01;
            }

            return(Task.FromResult(issue));
        }
Esempio n. 3
0
        public async Task <ActionResult <GeminiIssue> > GetGeminiIssueByCode(
            long projectId,
            string code,
            [FromQuery] SingleIssueQueryParameter singleIssueQueryParameter)
        {
            var issue = await _geminiRepository.GetIssueByCodeAsync(projectId, code, singleIssueQueryParameter, CancellationToken.None).ConfigureAwait(false);

            if (issue == null)
            {
                return(NotFound());
            }

            var item = _mapper.Map <GeminiIssue>(issue);

            item.IssueUri = _geminiUrlHelper.BuilIssuedUri(item);

            return(Ok(item));
        }
Esempio n. 4
0
 public Task <GeminiIssueEntity?> GetIssueByCodeAsync(
     decimal projectId,
     string issueCode,
     SingleIssueQueryParameter singleIssueQueryParameter,
     CancellationToken token) => GetIssueAsync(projectId, singleIssueQueryParameter, token);
Esempio n. 5
0
 public static bool HasIncludes(this SingleIssueQueryParameter singleIssueQueryParameter)
 => singleIssueQueryParameter.IncludeFields == true || singleIssueQueryParameter.IncludeHistory == true;