Exemplo n.º 1
0
        public async Task MarkOrderAsFaulted(int orderItemId)
        {
            var orderItem = await sqlDataAccess.GetOrderItem(orderItemId);

            orderItem.HasAufbereitungsfehler = true;
            await sqlDataAccess.UpdateOrderItem(orderItem);
        }
        public async Task Consume(ConsumeContext <EntscheidFreigabeHinterlegenRequest> 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.EntscheidFreigabeHinterlegen(
                    context.Message.UserId,
                    context.Message.OrderItemIds,
                    context.Message.Entscheid,
                    context.Message.DatumBewilligung,
                    context.Message.InterneBemerkung);

                await context.RespondAsync(new EntscheidFreigabeHinterlegenResponse());
            }
        }
Exemplo n.º 3
0
        private async Task <OrderItem[]> GetOrderItems(List <int> ids)
        {
            var list = new List <OrderItem>();

            foreach (var id in ids)
            {
                var item = await dataAccess.GetOrderItem(id);

                list.Add(item);
            }

            return(list.ToArray());
        }
        public async Task Consume(ConsumeContext <TRequest> 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 item = await dataAccess.GetOrderItem(context.Message.OrderItemId);

                if (item == null)
                {
                    throw new Exception("Invalid OrderItem: " + context.Message.OrderItemId);
                }

                var response = await CreateResponse(item, context.Message);

                await context.RespondAsync(response);
            }
        }
        public async Task Consume(ConsumeContext <AuftraegeAusleihenRequest> 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.AuftraegeAusleihen(context.Message.CurrentUserId, context.Message.OrderItemIds);

                await context.RespondAsync(new AuftraegeAusleihenResponse());
            }
        }
Exemplo n.º 6
0
        public async Task Consume(ConsumeContext <InVorlageExportierenRequest> 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);

                string userId = null;
                foreach (var id in context.Message.OrderItemIds)
                {
                    var item = await orderDataAccess.GetOrderItem(id);

                    if (item == null)
                    {
                        throw new Exception("Invalid OrderItem: " + id);
                    }

                    var order = await orderDataAccess.GetOrdering(item.OrderId, false);

                    if (string.IsNullOrEmpty(userId))
                    {
                        userId = order?.UserId;
                    }
                    else
                    {
                        if (userId != order?.UserId)
                        // Der Gesuchsteller wird im Mail angezeigt und mehrere werden nicht unterstützt
                        {
                            throw new BadRequestException("Es dürfen nur Gesuche vom gleichen Gesuchsteller verarbeitet werden");
                        }
                    }
                }

                var m = context.Message;
                await manager.InVorlageExportieren(m.CurrentUserId, m.OrderItemIds, m.Vorlage, m.Sprache);

                await context.RespondAsync(new InVorlageExportierenResponse());
            }
        }
        public async Task Consume(ConsumeContext <AbbrechenRequest> 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 = orderDataAccess.GetOrderItem(id);
                    if (item == null)
                    {
                        throw new Exception("Invalid OrderItem: " + id);
                    }
                }

                var m = context.Message;

                await manager.Abbrechen(m.CurrentUserId, m.OrderItemIds, m.Abbruchgrund, m.BemerkungZumDossier, m.InterneBemerkung);

                await context.RespondAsync(new AbbrechenResponse());
            }
        }