//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); } } } }
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); }