Example #1
0
 public async Task Run()
 {
     _data = new RequestData {
         Plan = _plan, Client = _restClient, Execution = _execution
     };
     await _workflowService.StartWorkflow("RequestWorkflow", 1, _data);
 }
Example #2
0
        public IActionResult Post(string workflowName, [FromBody] Item itemData)
        {
            _logger.LogInformation("Starting Workflow: {workflowName}", workflowName);
            var workflowId = _workflowService.StartWorkflow(workflowName, itemData).Result;

            try
            {
                itemData.WorkflowId = Guid.Parse(workflowId);
            }
            catch (ArgumentNullException)
            {
                _logger.LogError("The string to be parsed is null.");
            }
            catch (FormatException)
            {
                _logger.LogError($"Bad format: {workflowId}");
            }

            // Maybe check for duplicates or already existing
            //var item = _itemDbContext.Item
            //    .Single(i => i.ProductTitle == itemData.ProductTitle && i.Vendor == itemData.Vendor  );


            _itemDbContext.Item.Add(itemData);
            _itemDbContext.SaveChanges();

            return(Ok("WorkflowId: " + workflowId));
        }
        public async Task <ActionResult <WorkflowInstance> > Post(string id, [FromBody] ExpandoObject data)
        {
            var instanceId = await _workflowController.StartWorkflow(id, data);

            var result = await _persistenceProvider.GetWorkflowInstance(instanceId);

            return(Created(instanceId, _mapper.Map <WorkflowInstance>(result)));
        }
Example #4
0
        //[Authorize(Policy = Policies.Controller)]
        public async Task <ActionResult <WorkflowInstance> > StartWorkflow(string id)
        {
            string contentReq = null;

            using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8))
            {
                contentReq = await reader.ReadToEndAsync();
            }

            var logTrace = new LogTrace();

            AiLogger.LogInfo(logTrace, "Workflow Start: " + contentReq);

            object workflowData = contentReq;
            string workflowId   = null;

            if (id.Equals(CompressJobWorkflow.WorkflowId))
            {
                workflowId   = CompressJobWorkflow.WorkflowId;
                workflowData = NewtonJsonConvert.DeserializeObject <CompressJobData>(contentReq);
            }
            else if (id.Equals(WfFileInWorkflow.WorkflowId))
            {
                workflowId   = WfFileInWorkflow.WorkflowId;
                workflowData = NewtonJsonConvert.DeserializeObject <WfFileInData>(contentReq);
            }
            else if (id.Equals(Test01UserWorkflow.WorkflowId))
            {
                var wfEvent = Newtonsoft.Json.JsonConvert.DeserializeObject <Pdf4meWorkflowEvent>(contentReq);
                workflowData = new Pdf4meWorkflowData()
                {
                    WorkflowEvent = wfEvent
                };

                workflowId = Test01UserWorkflow.WorkflowId;
                //workflowData = NewtonJsonConvert.DeserializeObject<WfFileInData>(contentReq);
            }
            else
            {
                var wfEvent = Newtonsoft.Json.JsonConvert.DeserializeObject <Pdf4meWorkflowEvent>(contentReq);
                workflowData = new Pdf4meWorkflowData()
                {
                    WorkflowEvent = wfEvent
                };

                workflowId = id;
            }

            var instanceId = await _workflowController.StartWorkflow(workflowId, workflowData);

            var result = await _persistenceProvider.GetWorkflowInstance(instanceId);

            return(Created(instanceId, _mapper.Map <WorkflowInstance>(result)));
        }
        public async Task <IActionResult> Post(string id, int?version, string reference, [FromBody] JObject data)
        {
            string workflowId = null;
            var    def        = _registry.GetDefinition(id, version);

            if (def == null)
            {
                return(BadRequest(String.Format("Workflow defintion {0} for version {1} not found", id, version)));
            }

            if ((data != null) && (def.DataType != null))
            {
                var dataStr = JsonConvert.SerializeObject(data);
                var dataObj = JsonConvert.DeserializeObject(dataStr, def.DataType);
                workflowId = await _workflowService.StartWorkflow(id, version, dataObj, reference);
            }
            else
            {
                workflowId = await _workflowService.StartWorkflow(id, version, null, reference);
            }

            return(Ok(workflowId));
        }
Example #6
0
        public async Task <IActionResult> Post(string workflowName, int?version, string document)
        {
            var def = _registry.GetDefinition(workflowName, version);

            if (def == null)
            {
                return(BadRequest($"Workflow definition {workflowName} for version {version} not found"));
            }

            var workflowId = await _workflowService.StartWorkflow(
                workflowName,
                version,
                data : new UntypedDocumentWorkflowData {
                Document = document
            });

            return(Ok(workflowId));
        }
Example #7
0
 public Task <string> StartWorkflow(string workflowId, object data = null, string reference = null)
 {
     return(_workflowController.StartWorkflow(workflowId, data, reference));
 }
        public async Task <IEnumerable <string> > Get()
        {
            await _workflowService.StartWorkflow("XdpWorkflow");

            return(new string[] { "XdpWorkflow v1" });
        }
 public Task <string> StartWorkflow(string workflowId, int?tenantId, object data = null)
 {
     return(_workflowController.StartWorkflow(workflowId, tenantId, data));
 }