示例#1
0
        public void Handle(RentedBookOutStoredEvent evt)
        {
            try
            {
                _reportDataAccessor.UpdateBookInventoryStatus(evt.AggregateId, BookInventoryStatus.OutStore, evt.Notes);
                _reportDataAccessor.Commit();

                var rentBookRequestSucceedEvent = new RentBookRequestSucceedEvent
                {
                    CommandUniqueId = evt.CommandUniqueId,
                    BookInventoryId = evt.AggregateId,
                    CustomerId      = evt.CustomerId,
                    AggregateId     = evt.AggregateId
                };

                _eventPublisher.Publish(rentBookRequestSucceedEvent);
            }
            catch
            {
            }
        }
        public override void HandleCore(RentedBookOutStoredEvent evt)
        {
            try
            {
                _reportDataAccessor.UpdateBookInventoryStatus(evt.AggregateId, BookInventoryStatus.OutStore, evt.Notes, evt.OccurredOn);
                _reportDataAccessor.Commit();

                var rentBookRequestSucceedEvent = new RentBookRequestSucceedEvent
                {
                    CommandUniqueId = evt.CommandUniqueId,
                    BookInventoryId = evt.AggregateId,
                    CustomerId      = evt.CustomerId,
                    AggregateId     = evt.AggregateId
                };

                _eventPublisher.Publish(rentBookRequestSucceedEvent);

                evt.Result(RentedBookOutStoredEvent.Code_RENTEDBOOK_OUTSTORED);
            }
            catch (Exception ex)
            {
                evt.Result(RentedBookOutStoredEvent.Code_SERVER_ERROR, ex.ToString());
            }
        }