protected override async Task RefreshAsync()
{
var changeset = _changeset;
Logger.Debug("Start refresh branches section for changeset {0} ...",
changeset == null ? "null" : changeset.ChangesetId.ToString(CultureInfo.InvariantCulture));
string errorMessage = null;
if (Workspaces.Count == 0)
{
errorMessage = "Workspaces not found";
}
errorMessage = errorMessage ?? CalculateError(changeset);
if (changeset == null || !string.IsNullOrEmpty(errorMessage))
{
ErrorMessage = errorMessage;
Branches = new ObservableCollection<MergeInfoViewModel>();
}
else
{
Logger.Info("Getting branches for changeset {0} ...",
changeset.ChangesetId.ToString(CultureInfo.InvariantCulture));
var branches = await Task.Run(() => GetBranches(Context, changeset));
Logger.Info("Getting branches end for changeset {0}",
changeset.ChangesetId.ToString(CultureInfo.InvariantCulture));
// Selected changeset in sequence
if (changeset.ChangesetId == _changeset.ChangesetId)
{
Branches = branches;
ErrorMessage = branches.Count <= 1 ? "Target branches not found" : null;
MergeCommand.RaiseCanExecuteChanged();
}
}
Logger.Debug("End refresh branches section for changeset {0}",
changeset == null ? "null" : changeset.ChangesetId.ToString(CultureInfo.InvariantCulture));
}