public BuyerData GetBuyerDataAndRemove(Int64 uuid) { BuyerData ret = GetBuyerData(uuid); if (null != ret) { buyerDatas.Remove(uuid); } return(ret); }
public BuyerData GetBuyerData(Int64 uuid) { BuyerData ret = null; if (buyerDatas.ContainsKey(uuid)) { ret = buyerDatas[uuid]; } return(ret); }
public bool AddBuyerData(BuyerData buyerData) { var repoTrading = TCGGameSrv.IocContainer.Resolve <Repository.ITrading>(); repoTrading.TradeUpdate(buyerData.goods.seq, TcpMsg.TradeStatus.Trading, TcpMsg.TradeStatus.Onsale); var tblTrade = repoTrading.GetTblTradeSeq(buyerData.goods.seq); if (null != tblTrade && tblTrade.status == (Int32)TcpMsg.TradeStatus.Trading) { buyerData.goods.status = tblTrade.status; buyerDatas.Add(buyerData.uuid, buyerData); return(true); } return(false); }
public void ReqTradeGoodsBuy(NetMessage message) { if (null != user) { var reqData = message.GetData <TcpMsg.ReqTradeGoodsBuy>(); var tblTrade = TradingManager.Instance.GetTradeGoods(reqData.goodsSeq, TcpMsg.TradeStatus.Onsale); var errorCode = TcpMsg.Error.None; if (null != tblTrade) { if (tblTrade.uuid != user.UID) { var tokenTypeInfo = LBD.LBDApiManager.Instance.GetFungibleTypeToMeta(((Int32)Resource.PriceType.Coin).ToString()); var currencyInfo = user.CheckFungibleToken(tokenTypeInfo.tokenType, tblTrade.sale_price); errorCode = currencyInfo.Item1; if (TcpMsg.Error.None == errorCode) { var currency = currencyInfo.Item2 as TCurrency; var tokenType = currency.TokenType(); var buyerData = new BuyerData() { uuid = user.UID, userid = user.lineUID, nickName = user.nickName, buyTokenType = tokenType, goods = tblTrade }; if (TradingManager.Instance.AddBuyerData(buyerData)) { user.stateType = UserStateType.SellerPayments; LBD.LBDApiManager.Instance.AddLBDCmd(new LBD.Msg.LBDMsg_UserId_Fungible_Transfer() { uid = user.UID, guid = user.Id.ToString(), fromUserId = user.lineUID, toAddr = string.Empty, toUserId = tblTrade.userid, tokenType = buyerData.buyTokenType, amount = tblTrade.sale_price }); return; } else { errorCode = TcpMsg.Error.NotFoundGoodsOrTradeing; } } } else { errorCode = TcpMsg.Error.NotTradeSelfGoods; } } else { errorCode = TcpMsg.Error.NotFoundGoodsOrTradeing; } logger.Warn($"{errorCode.ToString()}"); var ackData = new TcpMsg.AckTradeGoodsBuy() { errCode = errorCode }; user.Send(new Packet(ackData)); } else { logger.Warn($"Is User Null~~~"); } }