public async Task <IActionResult> UserRegistration(RegistrationModel request) { _logger.LogInformation("Registering new user..."); _logger.LogInformation($"name: {request.Name}"); try { // Starting camunda client CamundaClient camunda = CamundaClient.Create("http://localhost:8080/engine-rest"); // New process defintion StartProcessInstance newProcessInstance = new StartProcessInstance(); newProcessInstance.SetVariable("name", VariableValue.FromObject(request.Name)); newProcessInstance.SetVariable("password", VariableValue.FromObject(request.Password)); // Sending process to camunda await camunda.ProcessDefinitions.ByKey("user_registration").StartProcessInstance(newProcessInstance); return(StatusCode(StatusCodes.Status200OK)); } catch (Exception ex) { _logger.LogError(ex, $"Error calling user registration for user {request.Name}"); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <string> StartProcessFor(Order order) { var processParams = new StartProcessInstance() .SetVariable("orderId", VariableValue.FromObject(order.Id.Value.ToString())) .SetVariable("orderStatus", VariableValue.FromObject(order.Status.ToString())) .SetVariable("customerCode", VariableValue.FromObject(order.Customer.Code)); processParams.BusinessKey = order.Id.Value.ToString(); var processStartResult = await camunda.ProcessDefinitions.ByKey("Process_Hire_Hero").StartProcessInstance(processParams); return(processStartResult.Id); }
public async Task <string> StartProcessFor(Report report) { var processParams = new StartProcessInstance() .SetVariable("reportId", VariableValue.FromObject(report.ReportId.ToString())) .SetVariable("reportName", VariableValue.FromObject(report.ReportName.ToString())) .SetVariable("reportStatus", VariableValue.FromObject(report.ReportStatus.ToString())) .SetVariable("reportDate", VariableValue.FromObject(report.ReportDateAndTime.ToString())); processParams.BusinessKey = report.ReportId.ToString(); var processStartResult = await camunda.ProcessDefinitions.ByKey("Report_Creation_Def_Key").StartProcessInstance(processParams); return(processStartResult.Id); }
public async Task <string> StartProcessFor(ProjectWf projectWf) { var processParams = new StartProcessInstance() .SetVariable("objectWfId", VariableValue.FromObject(projectWf.Id.ToString())) .SetVariable("objectId", VariableValue.FromObject(projectWf.ObjectId.ToString())) .SetVariable("objectName", VariableValue.FromObject(projectWf.ObjectName)) .SetVariable("objectStatus", VariableValue.FromObject(projectWf.Status.ToString())); processParams.BusinessKey = projectWf.Id.ToString(); var processStartResult = await camunda.ProcessDefinitions.ByKey("Process_Project").StartProcessInstance(processParams); return(processStartResult.Id); }