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("")); }
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)); } }