Example #1
0
        public bool Forward(wf.Action action, wf.ParameterizedActionDefinition parameter, wf.State current, Identity identity)
        {
            var ctx    = current.Context;
            var retVal = false;
            var dlg    = _vmf.CreateViewModel <DataObjectSelectionTaskViewModel.Factory>()
                         .Invoke(
                ctx,
                _vmf.GetWorkspace(ctx),
                (ObjectClass)NamedObjects.Base.Classes.Zetbox.App.Base.Identity.Find(_frozenCtx),
                null,
                (lst) =>
            {
                foreach (Identity id in lst.Select(i => i.Object))
                {
                    current.Instance.AddLogEntry("Forwared to " + id.ToString());
                    if (!current.Persons.Contains(id))
                    {
                        current.Persons.Add(id);
                    }
                }
                retVal = true;
            },
                null);

            _vmf.ShowDialog(dlg);
            return(retVal);
        }
Example #2
0
        public bool SendReminder(wf.Action action, wf.ParameterizedActionDefinition parameter, wf.State current, Identity identity)
        {
            var body = string.Format(@"Hello Arthur!

This is an reminder of an open workflow item in your inbox.

Best regards, your Workflow System");
            var msg  = new MailMessage("*****@*****.**", "*****@*****.**", "Reminder", body);

            _mail.Send(msg);
            return(true);
        }
Example #3
0
        public static bool Schedule(wf.Action action, wf.ParameterizedActionDefinition parameter, wf.State current, Identity identity)
        {
            var sAction    = (wf.SchedulerAction)action;
            var sParameter = (wf.ScheduledActionDefinition)parameter;

            DateTime dt = sAction.Schedule.GetNext(new DateTime(DateTime.Today.Year, 1, 1));

            dt = sParameter.Schedule.GetRelative(dt);

            current.ScheduleAction(dt, sParameter.InvokeAction);

            return(true);
        }
Example #4
0
        public bool CreateReceipt(wf.Action action, wf.ParameterizedActionDefinition parameter, wf.State current, Identity identity)
        {
            var ctx     = current.Context;
            var payload = current.Instance.Payload.GetObject(ctx);

            if (payload is ReceiptTemplate)
            {
                var template = (ReceiptTemplate)current.Instance.Payload.GetObject(ctx);
                template.CreateReceipt();
                return(true);
            }
            else
            {
                var msg = string.Format("Payload {0} is not a ReceiptTemplate", payload);
                Logging.Log.Warn(msg);
                current.Instance.AddLogEntry(msg);
                return(false);
            }
        }
Example #5
0
        public static bool AddResponsibles(wf.Action action, wf.ParameterizedActionDefinition parameter, wf.State current, Identity identity)
        {
            var sParameter = (wf.AddResponsiblesActionDefinition)parameter;

            if (sParameter.ClearResponsibles)
            {
                current.Groups.Clear();
                current.Persons.Clear();
            }

            foreach (var grp in sParameter.Groups)
            {
                current.Groups.Add(grp);
            }

            foreach (var person in sParameter.Persons)
            {
                current.Persons.Add(person);
            }

            return(true);
        }