コード例 #1
0
        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(""));
        }
コード例 #2
0
        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));
            }
        }