コード例 #1
0
        public async Task <IHttpActionResult> Put(DetachedMarketerShopCommand command)
        {
            command.UserInfo = new UserInfoCommandItem(UserId, FirstName, LastName);
            var response = await Bus.Send <DetachedMarketerShopCommand, MarketerCommandResponse>(command);

            return(Ok(response));
        }
コード例 #2
0
        public async Task <MarketerCommandResponse> Handle(DetachedMarketerShopCommand command)
        {
            var marketer = await _repository.FindAsync(command.MarketerId);

            if (marketer == null)
            {
                throw new DomainException("بازاریاب یافت نشد");
            }
            var shop = await _shopRepository.FindAsync(command.ShopId);

            if (shop == null)
            {
                throw new DomainException("فروشگاه یافت نشد");
            }
            shop.MarketerId = null;
            var userInfo = new UserInfo(command.UserInfo.UserId, command.UserInfo.FirstName, command.UserInfo.LastName);

            DomainEventDispatcher.Raise(new DetachedShopMarketersHistoryEvent(shop, marketer, userInfo));
            return(new MarketerCommandResponse());
        }