Exemplo n.º 1
0
        public IActionResult AddTrade([FromBody] TradeAddModel trade)
        {
            var created = _tradeService.AddTrade(trade);

            if (created)
            {
                return(Ok());
            }
            return(BadRequest());
        }
Exemplo n.º 2
0
        public override void HandleRequest(IRequest request)
        {
            var character = request.Session.Character;
            var trader    = Character.Get(request.Data.GetOrDefault <int>(k.traderID)).ThrowIfNull(ErrorCodes.CharacterNotFound);

            try
            {
                _tradeService.ClearTrade(character);

                if (character == trader)
                {
                    return;
                }

                CheckTradersAndThrowIfFailed(character, trader);

                _tradeService.GetTrade(trader).ThrowIfNotNull(ErrorCodes.TraderIsBusy);

                var commonSync = new object();

                var myTrade = _tradeFactory(character, trader, commonSync);
                _tradeService.AddTrade(character, myTrade);

                var hisTrade = _tradeFactory(trader, character, commonSync);
                _tradeService.AddTrade(trader, hisTrade);

                myTrade.State  = TradeState.Begin;
                hisTrade.State = TradeState.Begin;

                Message.Builder.FromRequest(request).WithOk().Send();
            }
            catch (Exception)
            {
                _tradeService.ClearTrade(character);
                throw;
            }
        }
Exemplo n.º 3
0
 public string AddTrade(TradeDTO trade, string usertoken)
 {
     return(_tradeService.AddTrade(trade, usertoken));
 }