private async void MergingServiceOnMergingConflictsAquired() { _mergingConflicts = _mergingService.MergingConflicts; if (_mergingConflicts.ProjectConfict != null) { await ResolveProjectConflict(); } if (_mergingConflicts.TaskStatesConflicts.Any()) { var unconflictedTaskStates = (await _taskStateStorageService.GetAll()).ToList(); TaskStateConflict = new EntityConflict <TaskStatesCollectionViewModel> { OurValue = new TaskStatesCollectionViewModel(_mergingConflicts.TaskStatesConflicts.Select(x => x.OurValue).Where(x => x != null) .Concat(unconflictedTaskStates).Distinct().OrderBy(x => x.Position)), AncestorValue = new TaskStatesCollectionViewModel(_mergingConflicts.TaskStatesConflicts.Select(x => x.AncestorValue).Where(x => x != null) .Concat(unconflictedTaskStates).Distinct().OrderBy(x => x.Position)), TheirValue = new TaskStatesCollectionViewModel(_mergingConflicts.TaskStatesConflicts.Select(x => x.TheirValue).Where(x => x != null) .Concat(unconflictedTaskStates).Distinct().OrderBy(x => x.Position)) }; } else { TaskStateConflict = null; OnTaskStatesConflictResolved(); } IsLoading = false; }
private async void RepositoryServiceOnRepositoryInitalized() { MergingConflicts = await _repositoryService.GetCurrentMergingConflicts(); if (MergingConflicts == null) { IsMergingCompleted = true; return; } _conflictToBeMerged = MergingConflicts.TaskConflicts.Count + (MergingConflicts.TaskStatesConflicts.Any() ? 1 : 0); if (MergingConflicts.ProjectConfict != null) { _conflictToBeMerged++; } MergingConflictsAquired?.Invoke(); if (_conflictToBeMerged != 0) { return; } IsMergingCompleted = true; }
private void ProjectPathsServiceOnProjectPathChanged() { _mergingConflicts = null; IsLoading = true; }