Exemplo n.º 1
0
 public CommitsViewModel(
     Person person,
     Sprint sprint,
     SvnCommitRepository commitRepository,
     Func<SvnCommit, CommitViewModel> commitViewModelFactory
     )
 {
     this.Commits = new ObservableCollection<CommitViewModel>();
     this.ShowHeader = Visibility.Collapsed;
     commitRepository.ListCommitsObservable(TimeSpan.FromDays(7)).ObserveOnDispatcher().Subscribe(
         result =>
             {
                 this.Commits.Clear();
                 foreach (var eventArg in result.Where(r=>r.Author.Contains(person.Login)))
                 {
                     this.Commits.Add(commitViewModelFactory(eventArg));
                 }
                 ShowHeader = this.Commits.Any() ? Visibility.Visible : Visibility.Collapsed;
             });
 }
        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 GetAvatarRequest(Person person)
     : base("/user/{user}")
 {
     AddUrlSegment("user", person.Login);
 }