protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterMappings(); var container = ConfigureContainer(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); Runtime = WorkflowInit.Create(new DataServiceProvider(container)); }
public static async Task <List <InboxItem> > FromDB(WorkflowRuntime runtime, WorkflowInbox [] inboxItems, CultureInfo culture) { var result = new List <InboxItem>(); IEnumerable <IGrouping <Guid, WorkflowInbox> > groups = inboxItems.GroupBy(x => x.ProcessId); ProcessInstance processInstance; foreach (IGrouping <Guid, WorkflowInbox> group in groups) { try { processInstance = await runtime.Builder.GetProcessInstanceAsync(group.Key).ConfigureAwait(false); } catch (Exception ex) { processInstance = null; } foreach (WorkflowInbox inboxItem in group) { List <string> availableCommands = HelperParser.SplitWithTrim(inboxItem.AvailableCommands, ","); result.Add(new InboxItem() { Id = inboxItem.Id, ProcessId = inboxItem.ProcessId, IdentityId = inboxItem.IdentityId, AddingDate = inboxItem.AddingDate, AvailableCommands = availableCommands.Select(x => new CommandName() { Name = x, LocalizedName = processInstance?.GetLocalizedCommandName(x, culture) }).ToList() }); } } return(result); }