Ejemplo n.º 1
0
        public async Task Handle(Entities.Item.Events.Removed e, IMessageHandlerContext ctx)
        {
            var order = await ctx.UoW().Get <Models.OrderingOrder>(e.OrderId).ConfigureAwait(false);

            order.Items   = order.Items.TryRemove(e.ProductId, x => x.ProductId);
            order.Updated = e.Stamp;

            await ctx.UoW().Update(e.OrderId, order).ConfigureAwait(false);
        }
Ejemplo n.º 2
0
        public async Task Handle(Entities.Item.Events.Removed e, IMessageHandlerContext ctx)
        {
            var order = await ctx.UoW().Get <Models.OrderingOrderIndex>(e.OrderId).ConfigureAwait(false);

            var item = await ctx.UoW().Get <Entities.Item.Models.OrderingOrderItem>(Entities.Item.Handler.ItemIdGenerator(e.OrderId, e.ProductId)).ConfigureAwait(false);

            order.SubTotal -= item.SubTotal;
            order.Updated   = e.Stamp;

            await ctx.UoW().Update(e.OrderId, order).ConfigureAwait(false);
        }
Ejemplo n.º 3
0
        public async Task Handle(Entities.Item.Events.Removed e, IMessageHandlerContext ctx)
        {
            var order = await ctx.UoW().Get <Models.OrderingOrderIndex>(e.OrderId).ConfigureAwait(false);

            var orderItem = await ctx.UoW().Get <Entities.Item.Models.OrderingOrderItem>(Entities.Item.Handler.ItemIdGenerator(e.OrderId, e.ProductId)).ConfigureAwait(false);

            var existing = await ctx.UoW().Get <Models.SalesChart>(IdGenerator(order.Created.FromUnix().Date)).ConfigureAwait(false);

            // remove existing value
            existing.Value -= orderItem.Total;

            await ctx.UoW().Update(existing.Id, existing).ConfigureAwait(false);
        }
Ejemplo n.º 4
0
        public async Task Handle(Entities.Item.Events.Removed e, IMessageHandlerContext ctx)
        {
            var order = await ctx.UoW().Get <Models.OrderingOrderIndex>(e.OrderId).ConfigureAwait(false);

            var orderItem = await ctx.UoW().Get <Entities.Item.Models.OrderingOrderItem>(Entities.Item.Handler.ItemIdGenerator(e.OrderId, e.ProductId)).ConfigureAwait(false);

            var day   = order.Created.FromUnix().Date;
            var month = new DateTime(day.Year, day.Month, 1);

            var existing = await ctx.UoW().Get <Models.SalesByState>(IdGenerator(month, order.ShippingState)).ConfigureAwait(false);

            // remove existing value
            existing.Value -= orderItem.Total;

            await ctx.UoW().Update(existing.Id, existing).ConfigureAwait(false);
        }