Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }