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); } }
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); } } }
public void Handle(ConfigureCaseExpressionMessage message) { ConfigureSwitchCaseExpression(message); }
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------------------------- }