public async Task <IHttpActionResult> ErinnerungVersenden([FromBody] ErinnerungVersendenPostData erinnerungVersendenPost) { var access = this.GetManagementAccess(); access.AssertFeatureOrThrow(ApplicationFeature.AuftragsuebersichtAuftraegeErinnerungVersenden); if (erinnerungVersendenPost == null) { return(BadRequest("Keine Werte angegeben")); } if (erinnerungVersendenPost.OrderItemIds?.Count == 0) { return(BadRequest("Keine OrderItemIds angegeben")); } if (!CheckNurErinnerbareAuftraegeEnthalten(erinnerungVersendenPost.OrderItemIds)) { return(BadRequest( "Es dürfen nur «Lesesaalausleihen» mit dem internen Status «Ausgeliehen» übergeben werden.")); } var result = await orderManagerClient.ErinnerungVersenden(erinnerungVersendenPost.OrderItemIds, access.UserId); if (result.Success) { return(Ok("success")); } return(BadRequest("")); }
public async Task Consume(ConsumeContext <ErinnerungVersendenRequest> 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.ErinnerungVersenden(msg.OrderItemIds, 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)); } }