public void InsertTradeHistory(Table.TblTrade tblTrade, TcpMsg.TradeStatus status, Int64 buyeruuid, string buyernickName) { var repoTrade = TCGGameSrv.IocContainer.Resolve <Repository.ITrading>(); if (!repoTrade.TradeDelete(tblTrade.seq)) { logger.Warn($"Trade Delete fail seq={tblTrade.seq} status={status.ToString()}"); } else { var tblTradeHistory = new Table.TblTradeHistory() { seller_uuid = tblTrade.uuid, seller_nickname = tblTrade.nickname, buyer_uuid = buyeruuid, buyer_nickname = buyernickName, tokenid = $"{tblTrade.tokentype}{tblTrade.tokenidx}", cardid = tblTrade.cardid, tokenidxnum = tblTrade.tokenidxnum, sale_price = tblTrade.sale_price, status = (Int32)status, comment = tblTrade.comment, regdate = DateTime.Now }; tblTradeHistory.seq = repoTrade.HistoryInsert(tblTradeHistory); } }
public TcpMsg.TradeGoodsInfo TblTradeToTradeGoodsInfo(Table.TblTrade tblTrade) { var goodsInfo = new TcpMsg.TradeGoodsInfo() { seq = tblTrade.seq, uuid = tblTrade.uuid, card = new TcpMsg.CardInfo() { tokenType = tblTrade.tokentype, tokenIndex = tblTrade.tokenidx, meta = tblTrade.cardid }, comment = tblTrade.comment, expirationTime = Define.expirationTime, regdate = tblTrade.regdate, sale_price = tblTrade.sale_price }; return(goodsInfo); }
public Table.TblTrade RegisterTradeGoods(Int64 uuid) { Table.TblTrade tblTrade = null; if (sellerDatas.ContainsKey(uuid)) { var saleData = sellerDatas[uuid]; var cardData = TCGGameSrv.ResourceDataLoader.Data_Card_List.Find(x => x.ID == saleData.card.GetResourceId()); if (null != cardData) { tblTrade = new Table.TblTrade() { uuid = saleData.uuid, nickname = saleData.nickName, userid = saleData.userid, cardid = saleData.card.GetResourceId(), jobtype = (Int16)cardData.jobType, cardtype = (Int16)cardData.cardType, tokentype = saleData.card.tokenType, tokenidx = saleData.card.tokenIdx, tokenidxnum = saleData.card.GetTokenIdxNum(), grade = (Int16)cardData.grade, sale_price = saleData.sale_price, status = (Int32)TcpMsg.TradeStatus.Onsale, comment = saleData.comment, regdate = DateTime.Now }; var repoTrade = TCGGameSrv.IocContainer.Resolve <Repository.ITrading>(); tblTrade.seq = repoTrade.TradeInsert(tblTrade); sellerDatas.Remove(uuid); } } return(tblTrade); }
public void RegisterTradeGoodsSucess(Table.TblTrade tblTrade) { var errorCode = TcpMsg.Error.None; if (null == tblTrade) { errorCode = TcpMsg.Error.RegisterGoodsFail; logger.Warn($"Table Trade Data null UserUid = {UID}"); } var ackData = new TcpMsg.AckRegisterTradeGoods(); if (errorCode == TcpMsg.Error.None) { tblTrades.Add(tblTrade); ackData.goodsInfo = TradingManager.Instance.TblTradeToTradeGoodsInfo(tblTrade); ackData.currencyInfos = ToCurrencyInfoList(); } ackData.errCode = errorCode; Send(new Packet(ackData)); }