public async Task <ProcessInstanceContainer> CreateProcessInstanceContainer(Type processType, string processState) { var processInstanceContainer = new ProcessInstanceContainer("", "new"); processInstanceContainer.ProcessTypeData.ProcessTypeFullName = processType.FullName !; processInstanceContainer.ProcessInstanceStateData = new ProcessStateData(processState); processInstanceContainer.ProcessDiagnosticData = new ProcessDiagnosticData(); processInstanceContainer.ProcessExternalData = new ProcessExternalData(); _processInstanceContainerRepository.Insert(processInstanceContainer); await _processInstanceContainerRepository.SaveChangesAsync(); processInstanceContainer.ProcessNumber = _processNumberGenerator.GenerateProcessNumber(processInstanceContainer.Id); _processInstanceContainerRepository.Update(processInstanceContainer); await _processInstanceContainerRepository.SaveChangesAsync(); return(processInstanceContainer); }
public ProcessListItemDto(ProcessInstanceContainer processInstance) { Id = processInstance.Id; ProcessNumber = processInstance.ProcessNumber; TypeShortName = processInstance.ProcessTypeData.ProcessTypeFullName.Split('.').LastOrDefault() ?? processInstance.ProcessTypeData.ProcessTypeFullName; Type = processInstance.ProcessTypeData.ProcessTypeFullName; StatusName = processInstance.StatusName; StepName = processInstance.Step.StepName; StepDescription = processInstance.Step.StepDescription + "jakiś opis"; MainThreadState = processInstance.ThreadData.MainThreadState.ToString(); BusinessData = processInstance.BusinessData; ExternalIds = processInstance.ExternalIds; NumberOfActivities = processInstance.ProcessDiagnosticData.NumberOfActivities; NumberOfSteps = processInstance.ProcessDiagnosticData.NumberOfSteps; NumberOfErrors = processInstance.ProcessDiagnosticData.NumberOfErrors; LastErrorPreview = processInstance.ProcessDiagnosticData.LastErrorPreview; LastRequestPreview = processInstance.ProcessDiagnosticData.LastRequestPreview; LastResponsePreview = processInstance.ProcessDiagnosticData.LastResponsePreview; ProcessSpecificData = processInstance.ProcessSpecificData; }
public async Task OnGet(string processNumber) { ProcessNumber = processNumber; var process = _applicationServer.Processes.LoadProcess(processNumber); if (process == null) { throw new Exception($"There is no process with processId={processNumber}"); } ProcessInstanceContainer = _serializer.Serialize(process.ProcessData.ProcessInstanceContainer); ProcessId = process.ProcessData.ProcessId; //remove $type from full serialization ProcessInstanceContainer = ProcessInstanceContainer .Replace("\\\"", "`").Replace("\r", "").Replace("\n", "") .Replace("\"{", "{").Replace("}\"", "}").Replace("\\", ""); ProcessState = _serializer.Serialize(process); ProcessState = ProcessState .Replace("\\\"", "`").Replace("\r", "").Replace("\n", "") .Replace("\"{", "{").Replace("}\"", "}").Replace("\\", ""); }