public List<Issue> Search(Project project, Sprint sprint) { var connection = this.youTrackClientFactory.CreateConnection(); var result = connection.Execute<IssueResponce>( new SearchIssueRequest(string.Format("#{0} Fix versions: {1}", project.Name, sprint.Name))); return result.Data.Issue; }
public SprintSelectorViewModel(Project project, Func<Project,Sprint,ProjectDetailsViewModel> projectDetailsFactory, ProjectRepository projectRepository, IShell shell) { _project = project; _projectDetailsFactory = projectDetailsFactory; _projectRepository = projectRepository; _shell = shell; _projectRepository.GetSprintsObservable(_project).ToProperty(this, t => t.AllSprints, out allSprints); }
public ProjectDetailsViewModel( Project project, Sprint sprint, Func<Project, Sprint, Person, PersonDetailsViewModel> personDetailsFactory ) { _project = project; Name = _project.Name; PersonDetails = new ObservableCollection<PersonDetailsViewModel>( _project.People.Select(p=>personDetailsFactory(project,sprint,p)) ); }
public PersonDetailsViewModel(Project project, Sprint sprint, Person person, UserRepository userRepository, IssueRepository issueRepository, Func<IEnumerable<Issue>, IssueStatisticsViewModel> issueStatisticsFactory, Func<Sprint, Person, CommitsViewModel> commitsFactory ) { _userRepository = userRepository; this.issueRepository = issueRepository; _issueStatisticsFactory = issueStatisticsFactory; Person = person; issueRepository.SearchObservable(project, sprint) .Subscribe(r => IssueStatistics = issueStatisticsFactory(r.Where(issue =>issue.Assignee != null && issue.Assignee.Login == person.Login)) ); Commits = commitsFactory(sprint, person); }
public IObservable<List<Issue>> SearchObservable(Project project, Sprint sprint) { return this.CacheCallObservable(() => this.Search(project, sprint)); }
public void Select(Project p) { _shell.Navigate(_sprintSelectorFactory(p)); }