Esempio n. 1
0
        public static void ProcessWorkflow(RigOapChecklist rigOapChecklist, ILog log, IIrmaOapDbContext context)
        {
            var wfs     = new WorkflowEngineService(log);
            var wfir    = new RigOapChecklistWorkflowRepository(context, log);
            var peopler = new PeopleRepository(context, log);

            var workflowActivity = new Genericlist()
            {
                DisplayName = $"Genericlist_{rigOapChecklist.Id}"
            };

            var workflowinstance = wfir.GetWorkflowByChecklist(rigOapChecklist.Id);


            var people = new List <Person>()
            {
                peopler.Get(rigOapChecklist.OwnerId)
            };

            var request = new AssignmentRequest()
            {
                Users = people
            };

            wfs.Process(workflowActivity, new Version(workflowinstance.Workflow.Major, workflowinstance.Workflow.Minor), workflowinstance, workflowinstance.Transition, request);
        }
Esempio n. 2
0
        public static void AddWorkflow(RigOapChecklist rigOapChecklist, ILog log, IIrmaOapDbContext context)
        {
            var workflowActivity = new Genericlist()
            {
                DisplayName = $"Genericlist_{rigOapChecklist.Id}"
            };

            var activities = new List <Activity>(WorkflowInspectionServices.GetActivities(workflowActivity));

            var indent = 0;

            activities.ForEach((act) => Console.WriteLine("{0}{1}", new string(' ', indent), act.DisplayName));

            string serializedAB = ToXaml(activities[0]);
            var    version      = new Version(1, 0);
            var    wfr          = new WorkflowRepository(context, log);

            var workflow = wfr.GetActiveWorkflow(8);

            //var workflow = new Irma.Models.Domain.Workflow.Workflow();
            //workflow.Name = "BarrierAuthorityOIM";
            //workflow.Major = version.Major;
            //workflow.Minor = version.Minor;
            //workflow.Active = true;
            //workflow.ActivityXaml = ToXaml(workflowActivity);

            //var workflowType = workflowActivity.GetType();
            //workflow.Assembly = workflowType.Assembly.GetName().Name;
            //workflow.Type = workflowType.FullName;

            var workflowinstance = new RigOapChecklistWorkflow(rigOapChecklist)
            {
                Name     = $"{workflow.Name} Instance",
                Workflow = workflow
            };

            var wfs  = new WorkflowEngineService(log);
            var wfir = new RigOapChecklistWorkflowRepository(context, log);

            wfs.Start(workflowActivity, version, workflowinstance);

            wfir.Add(workflowinstance);
        }