Exemplo n.º 1
0
        public static string ConfigureSwitchExpression(ConfigureSwitchExpressionMessage args)
        {
            OldSwitchValue = string.Empty;
            var expression = ConfigureActivity <DsfFlowSwitchActivity>(args.ModelItem, GlobalConstants.SwitchExpressionPropertyText, args.IsNew);

            if (expression == null)
            {
                return(null);
            }
            var expressionText = expression.Properties[GlobalConstants.SwitchExpressionTextPropertyText];
            var modelProperty  = args.ModelItem.Properties[GlobalConstants.DisplayNamePropertyText];

            if (modelProperty?.Value != null)
            {
                _callBackHandler = StartSwitchDropWizard(expression, modelProperty.Value.ToString());
            }
            if (_callBackHandler != null)
            {
                try
                {
                    var modelData    = _callBackHandler.ModelData;
                    var resultSwitch = JsonConvert.DeserializeObject <Dev2Switch>(modelData);
                    var expr         = ActivityHelper.InjectExpression(resultSwitch, expressionText);
                    ActivityHelper.SetDisplayName(args.ModelItem, resultSwitch); // MUST use args.ModelItem otherwise it won't be visible!
                    return(expr);
                }
                catch
                {
                    PopupController.Show(GlobalConstants.SwitchWizardErrorString,
                                         GlobalConstants.SwitchWizardErrorHeading, MessageBoxButton.OK,
                                         MessageBoxImage.Error, null, false, true, false, false, false, false);
                }
            }
            return(null);
        }
Exemplo n.º 2
0
        private static Dev2DecisionCallbackHandler ShowSwitchArmDialog(SwitchDesignerViewModel dataContext)
        {
            var large = new ConfigureSwitchArm {
                DataContext = dataContext
            };
            var window = new ActivityDefaultWindow();

            if (Application.Current != null)
            {
                window.Style = Application.Current.TryFindResource("SwitchCaseWindowStyle") as Style;
            }
            var contentPresenter = window.FindChild <ContentPresenter>();

            if (contentPresenter != null)
            {
                contentPresenter.Content = large;
            }
            window.SetEnableDoneButtonState(true);

            var showDialog = window.ShowDialog();

            if (showDialog.HasValue && showDialog.Value)
            {
                var callBack = new Dev2DecisionCallbackHandler {
                    ModelData = JsonConvert.SerializeObject(dataContext.Switch)
                };
                return(callBack);
            }
            return(null);
        }
Exemplo n.º 3
0
        /// <summary>
        ///     Configures the decision expression.
        ///     Travis.Frisinger - Developed for new Decision Wizard
        /// </summary>
        void ConfigureDecisionExpression(ConfigureDecisionExpressionMessage args)
        {
            var condition = ConfigureActivity <DsfFlowDecisionActivity>(args.ModelItem, GlobalConstants.ConditionPropertyText, args.IsNew);

            if (condition == null)
            {
                return;
            }

            var expression = condition.Properties[GlobalConstants.ExpressionPropertyText];
            var ds         = DataListConstants.DefaultStack;

            if (expression != null && expression.Value != null)
            {
                //we got a model, push it in to the Model region ;)
                // but first, strip and extract the model data ;)

                var eval = Dev2DecisionStack.ExtractModelFromWorkflowPersistedData(expression.Value.ToString());

                if (!string.IsNullOrEmpty(eval))
                {
                    ds = JsonConvert.DeserializeObject <Dev2DecisionStack>(eval);
                }
            }

            var displayName = args.ModelItem.Properties[GlobalConstants.DisplayNamePropertyText];

            if (displayName != null && displayName.Value != null)
            {
                ds.DisplayText = displayName.Value.ToString();
            }

            var val = JsonConvert.SerializeObject(ds);

            // Now invoke the Wizard ;)
            _callBackHandler = StartDecisionWizard(args.EnvironmentModel, val);

            // Wizard finished...
            try
            {
                string tmp = WebHelper.CleanModelData(_callBackHandler);
                var    dds = JsonConvert.DeserializeObject <Dev2DecisionStack>(tmp);

                if (dds == null)
                {
                    return;
                }

                ActivityHelper.SetArmTextDefaults(dds);
                ActivityHelper.InjectExpression(dds, expression);
                ActivityHelper.SetArmText(args.ModelItem, dds);
                ActivityHelper.SetDisplayName(args.ModelItem, dds); // PBI 9220 - 2013.04.29 - TWR
            }
            catch
            {
                _popupController.Show(GlobalConstants.DecisionWizardErrorString,
                                      GlobalConstants.DecisionWizardErrorHeading, MessageBoxButton.OK,
                                      MessageBoxImage.Error, null);
            }
        }
Exemplo n.º 4
0
        public void ConfigureSwitchCaseExpression(ConfigureCaseExpressionMessage args)
        {
            IEnvironmentModel environment = args.EnvironmentModel;
            ModelItem         switchCase  = args.ModelItem;

            string modelData =
                JsonConvert.SerializeObject(new Dev2Switch
            {
                SwitchVariable   = "",
                SwitchExpression = args.ExpressionText
            });

            // now invoke the wizard ;)
            _callBackHandler = RootWebSite.ShowSwitchDragDialog(environment, modelData);

            // Wizard finished...
            // Now Fetch from DL and push the model data into the workflow
            try
            {
                var ds = JsonConvert.DeserializeObject <Dev2Switch>(_callBackHandler.ModelData);
                ActivityHelper.SetSwitchKeyProperty(ds, switchCase);
            }
            catch
            {
                _popupController.Show(GlobalConstants.SwitchWizardErrorString,
                                      GlobalConstants.SwitchWizardErrorHeading, MessageBoxButton.OK,
                                      MessageBoxImage.Error, null);
            }
        }
Exemplo n.º 5
0
        public static void TryEditSwitchCaseExpression(EditCaseExpressionMessage args)
        {
            OldSwitchValue = string.Empty;
            var switchCaseValue = args.ModelItem.Properties["Case"];
            var switchVal       = args.ModelItem.Properties["ParentFlowSwitch"];

            if (switchVal != null)
            {
                var variable = SwitchExpressionValue(switchVal);
                _callBackHandler = ShowSwitchDragDialog(args.ModelItem, variable, false);
            }
            if (_callBackHandler != null)
            {
                try
                {
                    EditSwitchCaseExpression(switchCaseValue, switchVal);
                }
                catch (Exception ex)
                {
                    PopupController.Show(GlobalConstants.SwitchWizardErrorString,
                                         GlobalConstants.SwitchWizardErrorHeading, MessageBoxButton.OK,
                                         MessageBoxImage.Error, null, false, true, false, false, false, false);
                }
            }
        }
Exemplo n.º 6
0
        public void ConfigureSwitchExpression(ConfigureSwitchExpressionMessage args)
        {
            var expression = ConfigureActivity <DsfFlowSwitchActivity>(args.ModelItem, GlobalConstants.SwitchExpressionPropertyText, args.IsNew);

            if (expression == null)
            {
                return;
            }

            var expressionText = expression.Properties[GlobalConstants.SwitchExpressionTextPropertyText];

            Dev2Switch ds;

            if (expressionText != null && expressionText.Value != null)
            {
                ds = new Dev2Switch();
                var val = ActivityHelper.ExtractData(expressionText.Value.ToString());
                if (!string.IsNullOrEmpty(val))
                {
                    ds.SwitchVariable = val;
                }
            }
            else
            {
                ds = DataListConstants.DefaultSwitch;
            }

            var displayName = args.ModelItem.Properties[GlobalConstants.DisplayNamePropertyText];

            if (displayName != null && displayName.Value != null)
            {
                ds.DisplayText = displayName.Value.ToString();
            }

            var webModel = JsonConvert.SerializeObject(ds);

            // now invoke the wizard ;)
            _callBackHandler = StartSwitchDropWizard(args.EnvironmentModel, webModel);

            // Wizard finished...
            // Now Fetch from DL and push the model data into the workflow
            try
            {
                var resultSwitch = JsonConvert.DeserializeObject <Dev2Switch>(_callBackHandler.ModelData);
                ActivityHelper.InjectExpression(resultSwitch, expressionText);

                // PBI 9220 - 2013.04.29 - TWR
                ActivityHelper.SetDisplayName(args.ModelItem, resultSwitch); // MUST use args.ModelItem otherwise it won't be visible!
            }
            catch
            {
                _popupController.Show(GlobalConstants.SwitchWizardErrorString,
                                      GlobalConstants.SwitchWizardErrorHeading, MessageBoxButton.OK,
                                      MessageBoxImage.Error, null);
            }
        }
Exemplo n.º 7
0
        internal static string CleanModelData(Dev2DecisionCallbackHandler callBackHandler)
        {
            // Remove naughty chars...
            string tmp = callBackHandler.ModelData;

            // remove the silly Choose... from the string
            tmp = Dev2DecisionStack.RemoveDummyOptionsFromModel(tmp.ToStringBuilder());
            // remove [[]], &, !
            tmp = Dev2DecisionStack.RemoveNaughtyCharsFromModel(tmp);
            return(tmp);
        }
Exemplo n.º 8
0
        // 28.01.2013 - Travis.Frisinger : Added for Case Edits
        public static void EditSwitchCaseExpression(EditCaseExpressionMessage args)
        {
            OldSwitchValue = string.Empty;
            ModelProperty switchCaseValue = args.ModelItem.Properties["Case"];
            var           switchVal       = args.ModelItem.Properties["ParentFlowSwitch"];

            if (switchVal != null)
            {
                var variable = SwitchExpressionValue(switchVal);
                _callBackHandler = ShowSwitchDragDialog(args.ModelItem, variable, false);
            }
            if (_callBackHandler != null)
            {
                try
                {
                    var ds = JsonConvert.DeserializeObject <Dev2Switch>(_callBackHandler.ModelData);
                    if (ds != null)
                    {
                        var validExpression = true;
                        var flowSwitch      = switchVal?.ComputedValue as System.Activities.Statements.FlowSwitch <string>;
                        if (flowSwitch != null)
                        {
                            if (flowSwitch.Cases.Any(flowNode => flowNode.Key == ds.SwitchExpression))
                            {
                                validExpression = false;
                            }
                        }

                        if (!validExpression)
                        {
                            PopupController.Show(Warewolf.Studio.Resources.Languages.Core.SwitchCaseUniqueMessage, Warewolf.Studio.Resources.Languages.Core.SwitchFlowErrorHeader,
                                                 MessageBoxButton.OK, MessageBoxImage.Error, "", false, true, false, false, false, false);
                        }
                        else
                        {
                            OldSwitchValue = switchCaseValue?.ComputedValue.ToString();
                            if (switchCaseValue?.ComputedValue.ToString() != ds.SwitchExpression)
                            {
                                switchCaseValue?.SetValue(ds.SwitchExpression);
                            }
                        }
                    }
                }
                catch
                {
                    PopupController.Show(GlobalConstants.SwitchWizardErrorString,
                                         GlobalConstants.SwitchWizardErrorHeading, MessageBoxButton.OK,
                                         MessageBoxImage.Error, null, false, true, false, false, false, false);
                }
            }
        }
Exemplo n.º 9
0
        private static Dev2DecisionCallbackHandler ShowDecisionDialogWindow(ModelItem mi, DecisionDesignerViewModel dataContext)
        {
            var large = new Large {
                DataContext = dataContext
            };
            var window = new ActivityDefaultWindow();

            if (Application.Current != null)
            {
                window.Style = Application.Current.TryFindResource("DecisionWindowStyle") as Style;
            }
            var contentPresenter = window.FindChild <ContentPresenter>();

            if (contentPresenter != null)
            {
                contentPresenter.Content = large;
            }

            window.SetEnableDoneButtonState(true);
            DesignerView parentContentPane = FindDependencyParent.FindParent <DesignerView>(mi?.Parent?.View);
            var          dataContext1      = parentContentPane?.DataContext;

            if (dataContext1 != null)
            {
                if (dataContext1.GetType().Name == "ServiceTestViewModel")
                {
                    window.SetEnableDoneButtonState(false);
                }
            }

            var showDialog = window.ShowDialog();

            window.SetEnableDoneButtonState(true);
            if (showDialog.HasValue && showDialog.Value)
            {
                var dev2DecisionCallbackHandler = new Dev2DecisionCallbackHandler();
                dataContext.GetExpressionText();
                dev2DecisionCallbackHandler.ModelData = dataContext.ExpressionText;
                return(dev2DecisionCallbackHandler);
            }
            return(null);
        }
Exemplo n.º 10
0
        public static Dev2DecisionCallbackHandler ShowDecisionDialog(IEnvironmentModel environment, string webModel)
        {
            const int DialogWidth  = 824;
            const int DialogHeight = 510;

            var callBackHandler = new Dev2DecisionCallbackHandler {
                ModelData = webModel
            };
            const string RelativeUriString = "decisions/wizard";

            if (!IsTestMode)
            {
                environment.ShowWebPageDialog(SiteName, RelativeUriString, callBackHandler, DialogWidth, DialogHeight, "Switch Flow");
            }
            else
            {
                TestModeRelativeUri = RelativeUriString;
            }
            return(callBackHandler);
        }
Exemplo n.º 11
0
        private static Dev2DecisionCallbackHandler ShowSwitchDialogWindow(ModelItem modelItem, SwitchDesignerViewModel dataContext)
        {
            var large = new ConfigureSwitch {
                DataContext = dataContext
            };
            var window = new ActivityDefaultWindow();

            if (Application.Current != null)
            {
                window.Style = Application.Current.TryFindResource("SwitchMainWindowStyle") as Style;
            }
            var contentPresenter = window.FindChild <ContentPresenter>();

            if (contentPresenter != null)
            {
                contentPresenter.Content = large;
            }
            DesignerView parentContentPane = FindDependencyParent.FindParent <DesignerView>(modelItem?.Parent?.View);
            var          dataContext1      = parentContentPane?.DataContext;

            if (dataContext1 != null)
            {
                if (dataContext1.GetType().Name == "ServiceTestViewModel")
                {
                    window.SetEnableDoneButtonState(false);
                }
            }

            var showDialog = window.ShowDialog();

            window.SetEnableDoneButtonState(true);
            if (showDialog.HasValue && showDialog.Value)
            {
                var callBack = new Dev2DecisionCallbackHandler {
                    ModelData = JsonConvert.SerializeObject(dataContext.Switch)
                };
                return(callBack);
            }
            return(null);
        }
Exemplo n.º 12
0
        // 28.01.2013 - Travis.Frisinger : Added for Case Edits
        public void EditSwitchCaseExpression(EditCaseExpressionMessage args)
        {
            IEnvironmentModel environment     = args.EnvironmentModel;
            ModelProperty     switchCaseValue = args.ModelItem.Properties["Case"];

            string modelData = JsonConvert.SerializeObject(DataListConstants.DefaultCase);

            // Extract existing value ;)
            if (switchCaseValue != null)
            {
                string val = switchCaseValue.ComputedValue.ToString();
                modelData = JsonConvert.SerializeObject(new Dev2Switch {
                    SwitchVariable = val
                });
            }

            // now invoke the wizard ;)
            _callBackHandler = RootWebSite.ShowSwitchDragDialog(environment, modelData);

            // Wizard finished...
            // Now Fetch from DL and push the model data into the workflow
            try
            {
                var ds = JsonConvert.DeserializeObject <Dev2Switch>(_callBackHandler.ModelData);

                if (ds != null)
                {
                    if (switchCaseValue != null)
                    {
                        switchCaseValue.SetValue(ds.SwitchVariable);
                    }
                }
            }
            catch
            {
                _popupController.Show(GlobalConstants.SwitchWizardErrorString,
                                      GlobalConstants.SwitchWizardErrorHeading, MessageBoxButton.OK,
                                      MessageBoxImage.Error, null);
            }
        }
Exemplo n.º 13
0
 public static void ConfigureSwitchCaseExpression(ConfigureCaseExpressionMessage args)
 {
     OldSwitchValue = string.Empty;
     if (args.ExpressionText != null)
     {
         _callBackHandler = ShowSwitchDragDialog(args.ModelItem, args.ExpressionText);
     }
     if (_callBackHandler != null)
     {
         try
         {
             var ds = JsonConvert.DeserializeObject <Dev2Switch>(_callBackHandler.ModelData);
             ActivityHelper.SetSwitchKeyProperty(ds, args.ModelItem);
         }
         catch
         {
             PopupController.Show(GlobalConstants.SwitchWizardErrorString,
                                  GlobalConstants.SwitchWizardErrorHeading, MessageBoxButton.OK,
                                  MessageBoxImage.Error, null, false, true, false, false, false, false);
         }
     }
 }
Exemplo n.º 14
0
        /// <summary>
        ///     Configures the decision expression.
        ///     Travis.Frisinger - Developed for new Decision Wizard
        /// </summary>
        public static string ConfigureDecisionExpression(ConfigureDecisionExpressionMessage args)
        {
            var condition = ConfigureActivity <DsfFlowDecisionActivity>(args.ModelItem, GlobalConstants.ConditionPropertyText, args.IsNew);

            if (condition == null)
            {
                return(null);
            }

            var expression = condition.Properties[GlobalConstants.ExpressionPropertyText];

            _callBackHandler = StartDecisionWizard(condition);

            if (_callBackHandler != null)
            {
                try
                {
                    string tmp = FlowNodeHelper.CleanModelData(_callBackHandler.ModelData);
                    var    dds = JsonConvert.DeserializeObject <Dev2DecisionStack>(tmp);

                    if (dds == null)
                    {
                        return(null);
                    }

                    ActivityHelper.SetArmTextDefaults(dds);
                    var expr = ActivityHelper.InjectExpression(dds, expression);
                    ActivityHelper.SetArmText(args.ModelItem, dds);
                    ActivityHelper.SetDisplayName(args.ModelItem, dds); // PBI 9220 - 2013.04.29 - TWR
                    return(expr);
                }
                catch
                {
                    //
                }
            }
            return(null);
        }
Exemplo n.º 15
0
 public FlowController()
 {
     EventPublishers.Aggregator.Subscribe(this);
     _callBackHandler = new Dev2DecisionCallbackHandler();
 }