Ejemplo n.º 1
0
        //TODO: добавлять в историю первое изменение на асайн то

        private async System.Threading.Tasks.Task FillIssueHistory(Issue issue)
        {
            var history = await pmt.GetTaskHistory(issue.Id);

            Journal one;

            for (int i = 0; i < history.Length; i++)
            {
                if (history[i].details.Length > 0)
                {
                    one = new Journal
                    {
                        Id         = history[i].id,
                        AuthorId   = history[i].user.id,
                        Notes      = history[i].notes,
                        CreatedOn  = history[i].created_on,
                        NameChange = history[i].details[0].name,
                        OldValue   = history[i].details[0].old_value,
                        NewValue   = history[i].details[0].new_value,
                        IssueId    = issue.Id
                    };
                    if (!context.Journals.Any(x => x.Id == one.Id))
                    {
                        await context.Journals.AddAsync(one);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private async Task <List <Issue> > FillIssues(int projId)
        {
            int          offset = 0;
            List <Issue> save   = new List <Issue> ();

            Tasks issues_list;

            Task[] issues;

            do
            {
                issues_list = await pmt.GetTaskList(projId, offset);

                issues = issues_list.issues;


                for (int i = 0; i < issues.Length; i++)
                {
                    if (issues[i].tracker.name != "Task")
                    {
                        continue;
                    }

                    Issue one = new Issue
                    {
                        Id           = issues[i].id,
                        TrackerName  = issues[i].tracker.name,
                        AuthorId     = issues[i].author.id,
                        StartDate    = issues[i].start_date,
                        DueDate      = issues[i].due_date,
                        ProjectId    = projId,
                        MembershipId = issues[i].assigned_to.id
                    };
                    if (!context.Issues.Any(x => x.Id == one.Id))
                    {
                        await context.Issues.AddAsync(one);
                    }
                    save.Add(one);
                }


                //issues_list = await pmt.GetTaskList(projId, offset);
                //issues = issues_list.issues;
                offset = issues_list.offset + issues_list.limit;
            } while (offset < issues_list.total_count);

            return(save);
        }