Exemplo n.º 1
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.º 2
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.º 3
0
 public void Handle(ConfigureCaseExpressionMessage message)
 {
     ConfigureSwitchCaseExpression(message);
 }
Exemplo n.º 4
0
        public void FlowController_ConfigureSwitch_Handle_SwitchCase()
        {
            //------------Setup for test--------------------------
            var popupController = new Mock <IPopupController>();

            CustomContainer.Register(popupController.Object);

            var env = EnviromentRepositoryTest.CreateMockEnvironment();

            var properties         = new Dictionary <string, Mock <ModelProperty> >();
            var propertyCollection = new Mock <ModelPropertyCollection>();
            var testAct            = new DsfFlowSwitchActivity {
                ExpressionText = ""
            };

            var prop = new Mock <ModelProperty>();

            prop.Setup(p => p.ComputedValue).Returns(testAct);
            properties.Add("Expression", prop);

            propertyCollection.Protected().Setup <ModelProperty>("Find", "Expression", true).Returns(prop.Object);

            var source = new Mock <ModelItem>();

            source.Setup(s => s.Properties).Returns(propertyCollection.Object);

            #region setup decision Mock ModelItem

            var crmSwitch = new Mock <IContextualResourceModel>();
            crmSwitch.Setup(r => r.Environment).Returns(env.Object);
            crmSwitch.Setup(r => r.ResourceName).Returns("Test");
            crmSwitch.Setup(res => res.WorkflowXaml).Returns(new StringBuilder(StringResourcesTest.xmlServiceDefinition));

            var switchProperties         = new Dictionary <string, Mock <ModelProperty> >();
            var switchPropertyCollection = new Mock <ModelPropertyCollection>();

            var switchProp = new Mock <ModelProperty>();
            switchProp.Setup(p => p.ComputedValue).Returns(string.Empty);
            switchProperties.Add("Expression", switchProp);

            switchPropertyCollection.Protected().Setup <ModelProperty>("Find", "Expression", true).Returns(switchProp.Object);

            var switchModelItem = new Mock <ModelItem>();
            switchModelItem.Setup(s => s.Properties).Returns(switchPropertyCollection.Object);
            switchModelItem.Setup(s => s.ItemType).Returns(typeof(FlowSwitch <string>));

            prop.Setup(p => p.Value).Returns(switchModelItem.Object);

            #endregion

            #region setup Environment Model

            env.Setup(c => c.Connection).Returns(new Mock <IEnvironmentConnection>().Object);

            #endregion

            var flowController = new FlowController();

            var message = new ConfigureCaseExpressionMessage
            {
                ModelItem = source.Object,
                Server    = env.Object
            };
            //------------Execute Test---------------------------
            flowController.Handle(message);
            //------------Assert Results-------------------------
        }