示例#1
0
        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;
            }
        }
示例#2
0
        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;
                }
            }
        }