Ejemplo n.º 1
0
        private void DeactivateFeatures()
        {
            var featureDeactivationRequest = new DeactivateFeaturesRequest(
                FeatureDeactivations,
                force,
                elevatedPrivileges
                );

            subTaskActor.Tell(featureDeactivationRequest);
        }
Ejemplo n.º 2
0
        private void HandleDeactivateFeaturesRequest(DeactivateFeaturesRequest message)
        {
            _log.Debug("Entered HandleDeactivateFeaturesRequest with Id " + Id.ToString());

            if (!TaskCanceled)
            {
                if (isSubTaskActor)
                {
                    ParentTaskActor = Sender;
                }

                Title = message.Title;

                requestsToBeConfirmed = new List <FeatureToggleRequest>();

                foreach (ActivatedFeatureSpecial af in message.Features)
                {
                    FeatureDefinition definition;

                    if (af.Definition == null)
                    {
                        definition = Factories.FeatureDefinitionFactory.GetFaultyDefinition(
                            af.ActivatedFeature.FeatureId,
                            af.Location.Scope,
                            af.ActivatedFeature.Version);
                    }
                    else
                    {
                        definition = af.Definition;
                    }



                    var toggleRequest = new FeatureToggleRequest(
                        definition,
                        af.Location,
                        // force is already set to true, so now it is same as deactivation ...
                        // message.Action,
                        Enums.FeatureAction.Deactivate,
                        message.Force,
                        message.ElevatedPrivileges
                        );
                    requestsToBeConfirmed.Add(toggleRequest);
                }

                if (isSubTaskActor)
                {
                    var skipConfirmation = new Confirmation(
                        Id
                        );

                    HandleConfirmation(skipConfirmation);
                }
                else
                {
                    var confirmRequest = new ConfirmationRequest(
                        string.Format(
                            "Please confirm Feature {0}",
                            message.Action.ToString().ToLower()
                            ),
                        Title,
                        message.TaskId,
                        true
                        );


                    eventAggregator.PublishOnUIThread(confirmRequest);
                }
            }
        }