Ejemplo n.º 1
0
        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;
 }
Ejemplo n.º 3
0
        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("\\", "");
        }