示例#1
0
        private bool IsCreator(TransitionContext context)
        {
            var stepper = context.GetInstance <Stepper>();

            return(stepper.Assignee == stepper.Creator &&
                   stepper.Assignee != UserContextService.SYSTEM_USER);
        }
示例#2
0
        private bool BossIsApproving(TransitionContext context)
        {
            var holiday = context.GetInstance <Holiday>();

            this._logger.LogInformation($"Holiday entity in BossIsApproving: {holiday.Superior}");

            return(holiday.Superior == this._userContextService.UserName);
        }
示例#3
0
        private void ThankBossForApproving(TransitionContext context)
        {
            var holiday = context.GetInstance <Holiday>();

            this._logger.LogInformation($"Thank you very much: {holiday.Superior}!");

            holiday.Assignee = holiday.Requester;
        }
示例#4
0
        private void AssignToCreator(TransitionContext context)
        {
            var issue = context.GetInstance <Issue>();

            issue.Assignee = issue.Creator;

            this._logger.LogInformation($"Assignee: {issue.Assignee}");
        }
示例#5
0
        private void AssignToAdmin(TransitionContext context)
        {
            // because admin is the dev ;-)...
            var issue = context.GetInstance <Issue>();

            issue.Assignee = "admin";

            this._logger.LogInformation($"Assignee: {issue.Assignee}");
        }
示例#6
0
        private void GoTo5(TransitionContext context)
        {
            this.AssignToSystem(context);

            var stepper = context.GetInstance <Stepper>();

            _messageBus.PublishAsync(WorkItemMessage.Create(
                                         GOTO5_TRIGGER,
                                         stepper.Id,
                                         stepper.Type
                                         ));
        }
示例#7
0
        private void AddAprovalMessage(TransitionContext context)
        {
            var holiday = context.GetInstance <Holiday>();

            if (context.HasVariable <ApproveHolidayViewModel>())
            {
                var model = context.ReturnVariable <ApproveHolidayViewModel>();
                if (!string.IsNullOrWhiteSpace(model.Message))
                {
                    holiday.AddMessage(this._userContextService.UserName, model.Message);
                }
            }
        }
示例#8
0
        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);
        }
示例#9
0
        public void TransitionContext_GetInstance_InstanceReturned()
        {
            // Arrange
            Switcher switcher = new Switcher
            {
                Type = OnOffWorkflow.TYPE
            };
            var context = new TransitionContext(switcher);

            // Act
            var worflow = context.GetInstance <Switcher>();

            // Assert
            Assert.IsNotNull(worflow);
            Assert.AreEqual(worflow, switcher);
            Assert.AreEqual(worflow.State, switcher.State);
        }
示例#10
0
        private void ReAssignToRequestor(TransitionContext context)
        {
            var holiday = context.GetInstance <Holiday>();

            this._logger.LogInformation($"Reassign Holiday entity to requestor: {holiday.Requester}");

            holiday.Assignee = holiday.Requester;

            if (context.HasVariable <ApproveHolidayViewModel>())
            {
                var model = context.ReturnVariable <ApproveHolidayViewModel>();
                if (!string.IsNullOrWhiteSpace(model.Message))
                {
                    holiday.AddMessage(this._userContextService.UserName, model.Message);
                }
            }
        }
示例#11
0
        private void AssignBoss(TransitionContext context)
        {
            var holiday = context.GetInstance <Holiday>();

            if (context.HasVariable <ApplyHolidayViewModel>())
            {
                var model = context.ReturnVariable <ApplyHolidayViewModel>();
                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}");
        }
        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);
        }
示例#13
0
        private void AssignToCreator(TransitionContext context)
        {
            var stepper = context.GetInstance <Stepper>();

            stepper.Assignee = stepper.Creator;
        }
示例#14
0
        private bool IsAssignedToSystem(TransitionContext context)
        {
            var stepper = context.GetInstance <Stepper>();

            return(stepper.Assignee == UserContextService.SYSTEM_USER);
        }
示例#15
0
        private void AssignToSystem(TransitionContext context)
        {
            var stepper = context.GetInstance <Stepper>();

            stepper.Assignee = UserContextService.SYSTEM_USER;
        }
示例#16
0
        private void GoToStep4(TransitionContext context)
        {
            this.AssignToCreator(context);

            var stepper = context.GetInstance <Stepper>();
        }
示例#17
0
        private void GoTo5(TransitionContext context)
        {
            this.AssignToSystem(context);

            var stepper = context.GetInstance <Stepper>();
        }
        private bool BossIsApproving(TransitionContext context)
        {
            var holiday = context.GetInstance <Holiday>();

            return(holiday.Boss == "NiceBoss");
        }
        private bool MeApplyingForHolidays(TransitionContext context)
        {
            var holiday = context.GetInstance <Holiday>();

            return(holiday.Me == "Me");
        }
示例#20
0
        private void AfterTransition(TransitionContext context)
        {
            var switcher = context.GetInstance <Switcher>();

            Console.WriteLine("Current state is: '{0}'", switcher.State);
        }