Esempio n. 1
0
        /// <summary>
        /// Called by the CRUD providers when a new feature var is inserted and things that reference that var need to be resolved
        /// </summary>
        /// <param name="createdRecordEventArgs"></param>
        private void FeatureVar_Created(CMDataProviderRecordCreatedEventArgs createdRecordEventArgs)
        {
            var featureVar = createdRecordEventArgs.CreatedDto as CMFeatureVarStringDto;
            var feature    = CMDataProvider.DataStore.Value.CMFeatures.Value.Get(featureVar.CMFeatureId);

            feature.ResolveFeatureVarsForFeatureAndTasks();
        }
Esempio n. 2
0
        internal static void NoteData_Created_ResolveFeatureVars(CMDataProviderRecordCreatedEventArgs createdRecordEventArgs)
        {
            // The note data that was created
            var noteData = createdRecordEventArgs.CreatedDto as NoteDto;

            // The task that this note data is associated with
            var task = CMDataProvider.DataStore.Value.CMTasks.Value.Get(noteData.TaskId);

            // Get all feature vars that currently exist for the feature that the task is in
            var featureVars = CMDataProvider.DataStore.Value.CMFeatureVarStrings.Value.GetAll_ForFeature(task.CMFeatureId).ToList();

            // Resolve any templates in the newly created note
            Note_ResolveFeatureVars(task, featureVars);
        }
        internal static void FeatureDependencyData_Created(CMDataProviderRecordCreatedEventArgs createdRecordEventArgs)
        {
            // The TaskData that was created
            var taskData = createdRecordEventArgs.CreatedDto as FeatureDependencyDto;

            // The task that this TaskData is associated with
            var task = CMDataProvider.DataStore.Value.CMTasks.Value.Get(taskData.TaskId);

            // Get all feature vars that currently exist for the feature that the task is in
            var featureVars = CMDataProvider.DataStore.Value.CMFeatureVarStrings.Value.GetAll_ForFeature(task.CMFeatureId).ToList();

            // When a new feature dependency task data shows up we want to look through all of its Path options to see if a feature can be instanced right away
            FeatureDependency_ResolveFeatureVars(task, featureVars);

            UpdateTaskStatesForFeatureDependendies(taskData, null);
        }
Esempio n. 4
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;
                }
            }
        }