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));
        }
Beispiel #2
0
        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());
            }
        }