private void clearTagsIfNeeded(long currentWorkspaceId, long newWorkspaceId) { if (currentWorkspaceId == newWorkspaceId) { return; } Tags.Accept(Enumerable.Empty <IThreadSafeTag>()); }
private async Task selectTags() { if (!(Workspace.Value?.Id is long workspaceId)) { return; } var currentTags = Tags.Value.Select(t => t.Id).OrderBy(CommonFunctions.Identity).ToArray(); var chosenTags = await Navigate <SelectTagsViewModel, SelectTagsParameter, long[]>( new SelectTagsParameter(currentTags, workspaceId, false)); if (chosenTags.OrderBy(CommonFunctions.Identity).SequenceEqual(currentTags)) { return; } var selectedTags = await interactorFactory.GetMultipleTagsById(chosenTags).Execute(); Tags.Accept(selectedTags); }