private void ResetProject() { lock (m_Lock) { // TODO m_CoreViewModel.ClearManagedActivities(); //SelectedActivities.Clear(); m_CoreViewModel.ClearSettings(); GraphCompilation = new GraphCompilation <int, IDependentActivity <int> >( false, Enumerable.Empty <CircularDependency <int> >(), Enumerable.Empty <int>(), Enumerable.Empty <IDependentActivity <int> >(), Enumerable.Empty <IResourceSchedule <int> >()); CyclomaticComplexity = null; Duration = null; HasCompilationErrors = false; m_CoreViewModel.SetCompilationOutput(); ArrowGraphDto = null; ProjectStartWithoutPublishing = DateTime.UtcNow.BeginningOfDay(); IsProjectUpdated = false; ProjectTitle = s_DefaultProjectTitle; HasStaleOutputs = false; } PublishGraphCompilationUpdatedPayload(); PublishArrowGraphDtoUpdatedPayload(); }
public void SetCompilationOutput() { lock (m_Lock) { GraphCompilation <int, IDependentActivity <int> > graphCompilation = GraphCompilation; CompilationOutput = string.Empty; HasCompilationErrors = false; if (graphCompilation == null) { return; } var output = new StringBuilder(); if (graphCompilation.AllResourcesExplicitTargetsButNotAllActivitiesTargeted) { HasCompilationErrors = true; output.AppendLine($@">{Properties.Resources.Message_AllResourcesExplicitTargetsNotAllActivitiesTargeted}"); } if (graphCompilation.CircularDependencies.Any()) { HasCompilationErrors = true; output.Append(BuildCircularDependenciesErrorMessage(graphCompilation.CircularDependencies)); } if (graphCompilation.MissingDependencies.Any()) { HasCompilationErrors = true; output.Append(BuildMissingDependenciesErrorMessage(graphCompilation.MissingDependencies)); } if (graphCompilation.ResourceSchedules.Any() && !HasCompilationErrors) { output.Append(BuildActivitySchedules(graphCompilation.ResourceSchedules)); } if (HasCompilationErrors) { output.Insert(0, Environment.NewLine); output.Insert(0, $@">{Properties.Resources.Message_CompilationErrors}"); } CompilationOutput = output.ToString(); } }
public static GraphCompilationDto ToDto( GraphCompilation <int, IDependentActivity <int> > graphCompilation, int cyclomaticComplexity, int duration) { if (graphCompilation == null) { throw new ArgumentNullException(nameof(graphCompilation)); } return(new GraphCompilationDto { AllResourcesExplicitTargetsButNotAllActivitiesTargeted = graphCompilation.AllResourcesExplicitTargetsButNotAllActivitiesTargeted, CircularDependencies = graphCompilation.CircularDependencies != null?graphCompilation.CircularDependencies.Select(x => ToDto(x)).ToList() : new List <CircularDependencyDto>(), MissingDependencies = graphCompilation.MissingDependencies != null?graphCompilation.MissingDependencies.ToList() : new List <int>(), DependentActivities = graphCompilation.DependentActivities != null?graphCompilation.DependentActivities.Select(x => ToDto(x)).ToList() : new List <DependentActivityDto>(), ResourceSchedules = graphCompilation.ResourceSchedules != null?graphCompilation.ResourceSchedules.Select(x => ToDto(x)).ToList() : new List <ResourceScheduleDto>(), CyclomaticComplexity = cyclomaticComplexity, Duration = duration }); }