Ejemplo n.º 1
0
        private InternalTempoWorklog MapToInternalTempoWorklog(TempoWorklog workLog, User mySelf)
        {
            var internalWorklog = new InternalTempoWorklog()
            {
                DateStarted      = workLog.StartTime.ToIsoDateTimeStrWithoutTimeZone(),
                TimeSpentSeconds = workLog.Duration,
                Comment          = workLog.Description,
                Issue            = new InternalTempoIssue
                {
                    Key = workLog.TicketKey,
                },
                Author = new InternalTempoAuthor
                {
                    Name = mySelf.Name,
                    Self = mySelf.Self.ToString(),
                }
            };

            internalWorklog.WorklogAttributes.Add(
                new InternalWorklogAttribute
            {
                Key   = ActivityAttributeKey,
                Value = Uri.EscapeDataString(workLog.Activity)
            });

            internalWorklog.Id = workLog.Id;

            return(internalWorklog);
        }
Ejemplo n.º 2
0
        private TempoWorklog MapToTempoWorklog(InternalTempoWorklog internalWorkLog)
        {
            var worklog = new TempoWorklog
            {
                Id          = internalWorkLog.Id,
                Description = internalWorkLog.Comment,
                StartTime   = DateTime.Parse(internalWorkLog.DateStarted),
                TicketKey   = internalWorkLog.Issue.Key,
            };

            worklog.EndTime  = worklog.StartTime.AddSeconds(internalWorkLog.TimeSpentSeconds);
            worklog.Activity = internalWorkLog.WorklogAttributes.FirstOrDefault(x => x.Key == ActivityAttributeKey)?.Value;

            return(worklog);
        }
Ejemplo n.º 3
0
        public static async Task <Worklog> CreateAsync(this ITempoDomain jiraClient,
                                                       Worklog issue, CancellationToken cancellationToken = default(CancellationToken))

        {
            if (issue == null)
            {
                throw new ArgumentNullException("worklog");
            }

            jiraClient.Behaviour.MakeCurrent();
            var res = await jiraClient.JiraTempoUri
                      .AppendSegments("worklogs")
                      .PostAsync <HttpResponse <Worklog, Error> >(issue, cancellationToken)
                      .ConfigureAwait(false);

            return(res.Response);
        }