public override void CreateTaskDataInstance(CMTaskTypeDto cmTaskType, CMTaskDto cmTaskTemplate, CMTaskDto cmTaskInstance) { switch (cmTaskType.Name) { case nameof(BuildInTaskTypes.FeatureDependency): FeatureDependencyExtensions.FeatureDependency_CreateTaskDataInstance(cmTaskTemplate, cmTaskInstance); break; case nameof(BuildInTaskTypes.Note): NoteExtensions.Note_CreateTaskDataInstance(cmTaskTemplate, cmTaskInstance); break; } }
private void FeatureVar_Created(CMDataProviderRecordCreatedEventArgs createdRecordEventArgs) { // The featureVar that was added var featureVar = createdRecordEventArgs.CreatedDto as CMFeatureVarStringDto; // The feature that the feature var is assigned to var feature = CMDataProvider.DataStore.Value.CMFeatures.Value.Get(featureVar.CMFeatureId); // Don't process feature var replacements in a feature template if (feature.IsTemplate) { return; } // All current feature vars for this feature var featureVars = CMDataProvider.DataStore.Value.CMFeatureVarStrings.Value.GetAll_ForFeature(feature.Id).ToList(); // All tasks currently assigned to the feature var tasks = CMDataProvider.DataStore.Value.CMTasks.Value.GetAll_ForFeature(feature.Id); foreach (var cmTask in tasks) { // Figure out if this is a task type we are interested in var cmTaskType = CMDataProvider.DataStore.Value.CMTaskTypes.Value.Get(cmTask.CMTaskTypeId); switch (cmTaskType.Name) { case nameof(BuildInTaskTypes.FeatureDependency): FeatureDependencyExtensions.FeatureDependency_ResolveFeatureVars(cmTask, featureVars); break; case nameof(BuildInTaskTypes.Note): NoteExtensions.Note_ResolveFeatureVars(cmTask, featureVars); break; } } }