public async Task <IHttpActionResult> MahnungVersenden([FromBody] MahnungVersendenPostData mahnungVersendenPost)
        {
            var access = this.GetManagementAccess();

            access.AssertFeatureOrThrow(ApplicationFeature.AuftragsuebersichtAuftraegeMahnungVersenden);
            if (mahnungVersendenPost == null)
            {
                return(BadRequest("Keine Werte angegeben"));
            }

            if (mahnungVersendenPost.OrderItemIds?.Count == 0)
            {
                return(BadRequest("Keine OrderItemIds angegeben"));
            }

            if (!CheckNurMahnbareAuftraegeEnthalten(mahnungVersendenPost.OrderItemIds))
            {
                return(BadRequest(
                           "Es dürfen nur «Verwaltungsausleihen» oder «Lesesaalausleihen» mit dem internen Status «Ausgeliehen» übergeben werden."));
            }

            var result = await orderManagerClient.MahnungVersenden(mahnungVersendenPost.OrderItemIds, mahnungVersendenPost.Language,
                                                                   mahnungVersendenPost.GewaehlteMahnungAnzahl, access.UserId);

            if (result.Success)
            {
                return(Ok("success"));
            }

            return(BadRequest(""));
        }
예제 #2
0
        public async Task Consume(ConsumeContext <MahnungVersendenRequest> 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);

                var msg = context.Message;

                var result = await manager.MahnungVersenden(msg.OrderItemIds, msg.Language, msg.GewaehlteMahnungAnzahl, msg.UserId);

                await context.RespondAsync(result);

                Log.Information("Response sent for {CommandName} command with conversationId {ConversationId}. Result is {result}",
                                context.Message.GetType().Name, context.ConversationId, JsonConvert.SerializeObject(result));
            }
        }