public async Task <IHttpActionResult> GetAushebungsauftraegeHtml([FromUri] int[] orderItemIds) { var builder = new DataBuilder(bus); var access = ManagementControllerHelper.GetUserAccess(); access.AssertFeatureOrThrow(ApplicationFeature.AuftragsuebersichtAuftraegeKannAushebungsauftraegeDrucken); var expando = builder .AddUser(access.UserId) .AddAuftraege(orderItemIds) .Create(); var template = parameterHelper.GetSetting <AushebungsauftraegeTemplate>(); string html = mailHelper.TransformToHtml(template.HtmlTemplate, expando); await orderManagerClient.AushebungsauftraegeDrucken(access.UserId, orderItemIds.ToList()); return(Ok(html)); }
public async Task Consume(ConsumeContext <AushebungsauftraegeDruckenRequest> context) { using (LogContext.PushProperty(nameof(context.ConversationId), context.ConversationId)) { Log.Information("Received {CommandName} command with conversationId {ConversationId} from the bus", context.Message.GetType().Name, context.ConversationId); foreach (var id in context.Message.OrderItemIds) { var item = await orderDataAccess.GetOrderItem(id); if (item == null) { throw new Exception("Invalid OrderItem: " + id); } } await manager.AushebungsauftraegeDrucken(context.Message.UserId, context.Message.OrderItemIds); await context.RespondAsync(new AushebungsauftraegeDruckenResponse()); } }