Ejemplo n.º 1
0
        public async Task Handle(HouseTradedEvent notification, CancellationToken cancellationToken)
        {
            House.Models.House house = await _houseRepository.GetByIdAsync(notification.HouseId);

            if (house != null)
            {
                house.TradeTo(notification.BuyerId);
                _houseRepository.Update(house);
                await _unitOfWork.CommitAsync();
            }
        }
Ejemplo n.º 2
0
        public async Task <Result> CanTradeAsync(string houseId)
        {
            if (string.IsNullOrEmpty(houseId))
            {
                throw new ArgumentNullException(nameof(houseId));
            }

            House.Models.House house = await GetHouseAsync(houseId);

            if (house != null && !house.CanTrade())
            {
                return(Result.Fail("This house not allow trade."));
            }

            return(Result.Success());
        }