public async Task LoadWorkingDirectoryStatusAsync() { IsLoading = true; Changes = new FileStatusViewModel[0]; Index = new FileStatusViewModel[0]; await Task.Run(() => { var repositoryStatus = repository.RetrieveStatus(); Changes = repositoryStatus.Modified .Concat(repositoryStatus.Untracked) .Concat(repositoryStatus.Missing) .Select(FileStatusViewModel.FromFileStatus) .OrderBy(ch => (int)ch.State) .ThenBy(ch => ch.Path) .ToList(); Index = repositoryStatus.Staged .Concat(repositoryStatus.Added) .Concat(repositoryStatus.Removed) .Select(FileStatusViewModel.FromStagedChangeStatus) .OrderBy(ch => (int)ch.State) .ThenBy(ch => ch.Path) .ToList(); ParentCommitId = repository.Head.Tip.Id; NotifyOfPropertyChange(() => Changes); NotifyOfPropertyChange(() => Index); }); IsLoading = false; }
public async Task LoadWorkingDirectoryStatusAsync() { IsLoading = true; Changes = new FileStatusViewModel[0]; Index = new FileStatusViewModel[0]; await Task.Run(() => { var repositoryStatus = repository.RetrieveStatus(); Changes = repositoryStatus.Modified .Concat(repositoryStatus.Untracked) .Concat(repositoryStatus.Missing) .Select(FileStatusViewModel.FromFileStatus) .OrderBy(ch => (int) ch.State) .ThenBy(ch => ch.Path) .ToList(); Index = repositoryStatus.Staged .Concat(repositoryStatus.Added) .Concat(repositoryStatus.Removed) .Select(FileStatusViewModel.FromStagedChangeStatus) .OrderBy(ch => (int) ch.State) .ThenBy(ch => ch.Path) .ToList(); ParentCommitId = repository.Head.Tip.Id; NotifyOfPropertyChange(() => Changes); NotifyOfPropertyChange(() => Index); }); IsLoading = false; }
public async void Unstage(FileStatusViewModel change) { repository.Unstage(change.Path); await LoadWorkingDirectoryStatusAsync(); }