Example #1
0
 private void When(OrderItemAdded @event)
 {
     items.Add(new OrderItem(
                   @event.Content,
                   @event.UserId
                   ));
 }
 public void When(OrderItemAdded @event)
 {
     OrderItems.Add(new OrderItem()
     {
         Name      = @event.Name,
         Quantity  = @event.Quantity,
         UnitPrice = @event.UnitPrice,
         ProductId = @event.ProductId
     });
 }
Example #3
0
        protected void MutateWhen(OrderItemAdded @event)
        {
            // build new list
            var items = new List <OrderItem>();

            items.AddRange(Items);
            items.Add(@event.Item);
            // set to list with new item
            Items = items;
        }
        private void WhenItemAdded(OrderItemAdded e, OrderView view)
        {
            // build new list
            var items = new List <OrderItem>();

            items.AddRange(view.Items);
            items.Add(e.Item);

            // set to list with new item
            view.Items = items;
        }
Example #5
0
        private NpgsqlCommand ToCommand(OrderItemAdded data)
        {
            var command = new NpgsqlCommand("INSERT INTO reads.order_item (person_name, item_name, added_at, order_id) values (@PersonName, @ItemName, @AddedAt, @OrderId)");

            command.Parameters.Add(new NpgsqlParameter("@PersonName", data.PersonName));
            command.Parameters.Add(new NpgsqlParameter("@ItemName", data.ItemName));
            command.Parameters.Add(new NpgsqlParameter("@AddedAt", data.AddedAt));
            command.Parameters.Add(new NpgsqlParameter("@OrderId", data.OrderId));

            return(command);
        }
        public void Apply(OrderItemAdded e)
        {
            if (Items.Any(i => i.PersonName == e.PersonName))
            {
                return;
            }

            Items.Add(new OrderItem
            {
                PersonName = e.PersonName,
                ItemName   = e.ItemName,
                AddedAt    = e.AddedAt
            });
        }
Example #7
0
        public Task HandleAsync(OrderItemAdded @event)
        {
            var filter = Builders <OrderMaterializedView> .Filter.Eq(x => x.Id, @event.AggregateId);

            var update = Builders <OrderMaterializedView> .Update.Push(s => s.Items, new OrderMaterializedView.OrderItemMaterialized()
            {
                Name       = @event.Name,
                Quantity   = @event.Quantity,
                UnitPrice  = @event.UnitPrice,
                ProductId  = @event.ProductId,
                TotalPrice = @event.UnitPrice * @event.Quantity
            });

            _dbContext.OrderMaterializedView().FindOneAndUpdate(filter, update);

            return(Task.CompletedTask);
        }
Example #8
0
        public void AddItem(OrderItem item)
        {
            Guard.NotNull(item, nameof(item));
            bool wasSuspended = this.isSuspended;

            this.orderTotal = SumAmount(this.orderTotal, new[] { item });
            this.CheckStatus();
            var orderStatus     = OrderStatusEnum.OrderSuspended;
            var itemOrderStatus = OrderItemAdded.OrderStatusEnum.OrderSuspended;

            if (!this.isSuspended)
            {
                orderStatus     = OrderStatusEnum.OrderAccepted;
                itemOrderStatus = wasSuspended
                        ? OrderItemAdded.OrderStatusEnum.OrderUnsuspended
                        : OrderItemAdded.OrderStatusEnum.OrderAccepted;
            }

            var orderItemAdded = new OrderItemAdded(this.Id, this.customerId, this.orderTotal, item, orderStatus, itemOrderStatus);

            this.RaiseEvent(orderItemAdded);
        }
 public void Handle(OrderItemAdded evnt)
 {
     _connection.Insert(evnt, "eventsourcing_sample_orderitem", _transaction);
 }
 protected virtual void OnOrderItemAdded(object sender, ModifyElementEventArgs <T> e)
 {
     OrderItemAdded?.Invoke(this, e);
 }
Example #11
0
 protected virtual void OnOrderItemAdded(ItemCollectionEventArgs eventArgs)
 {
     OrderItemAdded.Invoke(this, eventArgs);
 }
 protected virtual void Handle(OrderItemAdded evnt)
 {
     _entityManager.BuildAndSave<OrderItemEntity>(evnt);
 }
 protected virtual void Handle(OrderItemAdded evnt)
 {
     _entityManager.BuildAndSave <OrderItemEntity>(evnt);
 }
Example #14
0
        ////}

        protected virtual void OnOrderItemAdded(OrderItemAddedEventArgs e)
        {
            OrderItemAdded?.Invoke(this, e);
        }
Example #15
0
 Task IEventHandler <OrderItemAdded> .HandleAsync(OrderItemAdded payload)
 {
     items.Add(new OrderItem(payload.ProductKey, payload.Count));
     return(Task.FromResult(true));
 }