public void TransitionContext_SetVariable_ReplacesExistingVariableValue() { // Arrange Switcher switcher = new Switcher { Type = OnOffWorkflow.TYPE }; var context = new TransitionContext(switcher); var variable = new SwitcherWorkflowVariable(true); context.SetVariable <SwitcherWorkflowVariable>( SwitcherWorkflowVariable.KEY, variable); Assert.IsTrue(context .GetVariable <SwitcherWorkflowVariable>(SwitcherWorkflowVariable.KEY) .CanSwitch); variable.CanSwitch = false; // Act context.SetVariable <SwitcherWorkflowVariable>( SwitcherWorkflowVariable.KEY, variable); // Assert Assert.IsNotNull(context); Assert.IsTrue(context.HasVariables); Assert.IsTrue(context.ContainsKey(SwitcherWorkflowVariable.KEY)); Assert.IsFalse(context .GetVariable <SwitcherWorkflowVariable>(SwitcherWorkflowVariable.KEY) .CanSwitch); }
private bool CanSwitch(TransitionContext context) { var switcher = context.GetInstance <Switcher>(); if (context.ContainsKey(SwitcherWorkflowVariable.KEY)) { var variable = context .GetVariable <SwitcherWorkflowVariable>(SwitcherWorkflowVariable.KEY); return(variable.CanSwitch); } return(true); }
private void ReAssignToRequestor(TransitionContext context) { var holiday = context.GetInstance <Holiday>(); this._logger.LogInformation($"Reassign Holiday entity to requostor: {holiday.Requester}"); holiday.Assignee = holiday.Requester; if (context.ContainsKey(ApproveHolidayViewModel.KEY)) { var model = context.GetVariable <ApproveHolidayViewModel>(ApproveHolidayViewModel.KEY); if (!string.IsNullOrWhiteSpace(model.Message)) { holiday.AddMessage(this._userContextService.UserName, model.Message); } } }
private bool BossIsApproving(TransitionContext context) { var holiday = context.GetInstance <Holiday>(); this._logger.LogInformation($"Holiday entity in BossIsApproving: {holiday.Superior}"); if (context.ContainsKey(ApproveHolidayViewModel.KEY)) { var model = context.GetVariable <ApproveHolidayViewModel>(ApproveHolidayViewModel.KEY); if (!string.IsNullOrWhiteSpace(model.Message)) { holiday.AddMessage(this._userContextService.UserName, model.Message); } return(holiday.Superior == this._userContextService.UserName); } return(false); }
private void AssignBoss(TransitionContext context) { var holiday = context.GetInstance <Holiday>(); if (context.ContainsKey(ApplyHolidayViewModel.KEY)) { var model = context.GetVariable <ApplyHolidayViewModel>(ApplyHolidayViewModel.KEY); holiday.Assignee = holiday.Superior; holiday.From = model.From; holiday.To = model.To; if (!string.IsNullOrWhiteSpace(model.Message)) { holiday.AddMessage(this._userContextService.UserName, model.Message); } } this._logger.LogInformation($"Assignee: {holiday.Assignee}"); }
public void TransitionContext_SetVariable_VariableIsSet() { // Arrange Switcher switcher = new Switcher { Type = OnOffWorkflow.TYPE }; var context = new TransitionContext(switcher); var variable = new SwitcherWorkflowVariable(true); // Act context.SetVariable <SwitcherWorkflowVariable>( SwitcherWorkflowVariable.KEY, variable); // Assert Assert.IsNotNull(context); Assert.IsTrue(context.HasVariables); Assert.IsTrue(context.ContainsKey(SwitcherWorkflowVariable.KEY)); }
/// <summary> /// Checks whether the workflow variable is present in the TransitionContext. /// </summary> /// <typeparam name="TVariable"></typeparam> /// <param name="transitionContext"></param> /// <returns></returns> public static bool HasVariable <TVariable>( this TransitionContext transitionContext ) { return(transitionContext.ContainsKey(KeyBuilder.ToKey(typeof(TVariable)))); }