public async Task HandleAsync(CommandContext context, NextDelegate next) { if (context.Command is CreateContents createContents) { var result = new ImportResult(); if (createContents.Datas != null && createContents.Datas.Count > 0) { var command = SimpleMapper.Map(createContents, new CreateContent()); foreach (var data in createContents.Datas) { try { command.ContentId = Guid.NewGuid(); command.Data = data; var content = serviceProvider.GetRequiredService <ContentDomainObject>(); content.Setup(command.ContentId); await content.ExecuteAsync(command); result.Add(new ImportResultItem { ContentId = command.ContentId }); } catch (Exception ex) { result.Add(new ImportResultItem { Exception = ex }); } } } context.Complete(result); } else { await next(context); } }