protected async override Task InitializeAsync(object sender, SectionInitializeEventArgs e)
{
Logger.Debug("Start initilize branches section");
var tfs = Context.TeamProjectCollection;
var versionControl = tfs.GetService<VersionControlServer>();
SubscribeWorkspaceChanges(versionControl);
_changesetService = new ChangesetService(versionControl);
_eventAggregator.GetEvent<SelectChangesetEvent>()
.Subscribe(OnSelectedChangeset);
_eventAggregator.GetEvent<BranchSelectedChangedEvent>()
.Subscribe(OnBranchSelectedChanged);
if (e.Context == null)
{
Workspaces =
new ObservableCollection<Workspace>(versionControl.QueryWorkspaces(null,
tfs.AuthorizedIdentity.UniqueName, Environment.MachineName));
if (Workspaces.Count > 0)
{
Workspace = WorkspaceHelper.GetWorkspace(versionControl, Workspaces);
ShowWorkspaceChooser = Workspaces.Count > 1;
}
else
{
Workspace = null;
}
MergeModes = new ObservableCollection<MergeMode>
{
MergeMode.Merge,
MergeMode.MergeAndCheckIn
};
MergeMode = Settings.Instance.LastMergeOperation;
await RefreshAsync();
}
else
{
RestoreContext(e);
}
Logger.Debug("End initialize branches section");
}