示例#1
0
        public List <StakePlaceTicket> GetTickets(TicketsQueryParameters _ticketsQueryParameters)
        {
            var stakePlaceTickets = new List <StakePlaceTicket> ();
            var fieldsAcl         = new FieldsAcl(_ticketsQueryParameters.UserLevels);
            var miniTickets       = QueryTickets(_ticketsQueryParameters);

            foreach (var miniTicket in miniTickets)
            {
                var stakePlaceTicket = new StakePlaceTicket(miniTicket, fieldsAcl);
                stakePlaceTickets.Add(stakePlaceTicket);
            }
            onConnectUserLastQueryResult[_ticketsQueryParameters.ConnectionId] = stakePlaceTickets;
            return(stakePlaceTickets);
        }
示例#2
0
        public StakePlaceTicket(MiniTicketV2 ticket, FieldsAcl fieldsAcl)
        {
            _hideDates      = fieldsAcl.HideDates;
            _hideRefNo      = fieldsAcl.HideRefNo;
            _hideAmount     = fieldsAcl.HideAmount;
            _hideMemberInfo = fieldsAcl.HideMemberInfo;

            _isFullTime = ticket.IsFullTime;

            _sportType   = ticket.SportType;
            _workingDate = ticket.WorkingDate;
            _isRun       = ticket.IsRun;
            _vipType     = ticket.VipType;
            // _specialId = ticket.SpecialId;
            _specialIds = ticket.SpecialIds;
            _leagueType = ticket.LeagueType;
            var oldTransType = ticket.TransType;

            _transType = GetTransTypeValue(oldTransType);

            #region Displayed properties

            IsStock    = ticket.IsStock;
            Id         = IsStock ? ticket.SocTransId : ticket.SocTransTradeInId;
            SocTransId = ticket.SocTransId;

            Account = ticket.UserName;
            SetAccountColors(ticket.VipType);
            // AccountBackColor = GetAccountColor(ticket.VipType);

            var isFullTime = ticket.IsFullTime;
            var isBetHome  = ticket.IsBetHome;
            var isHomeGive = ticket.IsHomeGive;

            TransType      = $"{_transType}{(IsStock ? string.Empty : " (TI)")}";
            TransTypeColor = GetTransTypeColor(_transType);

            League = ticket.LeagueName;

            if (isFullTime)
            {
                LeagueColor = Color.Black;
                if (_transType.Equals("HDP") || _transType.Equals("OU") || _transType.Equals("OE"))
                {
                    if (isBetHome)
                    {
                        Home = $"*{ticket.HomeName}";
                        Away = $"{ticket.AwayName}";
                    }
                    else
                    {
                        Home = $"{ticket.HomeName}";
                        Away = $"*{ticket.AwayName}";
                    }
                }
                else
                {
                    Home = $"{ticket.HomeName}";
                    Away = $"{ticket.AwayName}";
                }
            }
            else
            {
                LeagueColor = Color.Red;
                if (_transType.Equals("HDP") || _transType.Equals("OU") || _transType.Equals("OE"))
                {
                    if (isBetHome)
                    {
                        Home = $"*1h-{ticket.HomeName}";
                        Away = $"1h-{ticket.AwayName}";
                    }
                    else
                    {
                        Home = $"1h-{ticket.HomeName}";
                        Away = $"*1h-{ticket.AwayName}";
                    }
                }
                else
                {
                    Home = $"1h-{ticket.HomeName}";
                    Away = $"1h-{ticket.AwayName}";
                }
            }

            var specialIdsWithoutBase = _specialIds.Except(_baseSpecialIds);
            // var specialsWithoutBase = _specialId.Replace(",", "").Replace("1000", "");
            // if (!string.IsNullOrWhiteSpace(specialsWithoutBase) || _leagueType == LeagueType.Special)
            if (specialIdsWithoutBase.Any() || _leagueType == LeagueType.Special)
            {
                LeagueColor = Color.Purple;
            }

            switch (_transType)
            {
            case "HDP":
            {
                if (isHomeGive)
                {
                    if (isBetHome)
                    {
                        HomeColor = TransTypeColor;
                    }
                    else
                    {
                        HomeColor = TransTypeColor;
                    }
                }
                else
                {
                    if (isBetHome)
                    {
                        AwayColor = TransTypeColor;
                    }
                    else
                    {
                        AwayColor = TransTypeColor;
                    }
                }
                break;
            }

            case "OU":
            {
                if (isBetHome)
                {
                    HomeColor = TransTypeColor;
                }
                else
                {
                    AwayColor = TransTypeColor;
                }
                break;
            }

            case "OE":
            {
                if (isBetHome)
                {
                    HomeColor = TransTypeColor;
                }
                else
                {
                    AwayColor = TransTypeColor;
                }
                break;
            }

            default:
                HomeColor = TransTypeColor;
                AwayColor = TransTypeColor;
                break;
            }

            Run = _isRun ? $"{ticket.HomeScore}-{ticket.AwayScore}" : string.Empty;

            var hdp           = ticket.Hdp;
            var hdpAttributes = GetHdpAttributes(oldTransType, _transType, hdp, isHomeGive, isBetHome);
            Hdp      = hdpAttributes.Item1;
            HdpColor = hdpAttributes.Item2;

            var oddType       = ticket.OddType;
            var percent       = ticket.Percent;
            var mmrAttributes = GetMmrAttributes(oldTransType, oddType, percent, isHomeGive, isBetHome);
            MmrOdds      = mmrAttributes.Item1;
            MmrOddsColor = mmrAttributes.Item2;

            var odds = ticket.Odds;

            /*if (IsStock) Odds = _transType.Equals("PAR") ? $"{odds:0.##}" : $"{odds}";
             * else Odds = $"{odds:0.##}";*/
            if (IsStock)
            {
                switch (oldTransType)
                {
                case "HDP":
                case "OU":
                case "3D":
                case "OE":
                case "4D":
                    Odds = $"{odds * 10:0.##}";
                    break;

                default:
                    Odds = $"{odds:0.##}";
                    break;
                }
            }
            else
            {
                Odds = $"{Math.Round(odds, 0, MidpointRounding.AwayFromZero):0}";
            }
            OddsColor = odds > 0 ? Color.Blue : odds < 0 ? Color.Red : Color.Black;

            // var myOdds = IsStock ? (odds * 10) : odds;
            // MyOdds = IsStock ? $"{(odds * 10):0.#}" : $"{odds:0.##}";
            if ((TransactionsHdpAndOu.Contains(_transType) || _transType.Equals("OE")) && IsStock)
            {
                var myOdds = ticket.MyOdds;
                MyOdds = $"{(myOdds * 10):0.##}";
                // MyOddsColor = myOdds > 0 ? Color.Blue : myOdds < 0 ? Color.Red : Color.Black;
                MyOddsColor = myOdds > 0 ? Color.Blue : myOdds < 0 ? Color.Red : Color.Black;
            }
            else
            {
                MyOdds      = string.Empty;
                MyOddsColor = Color.Black;
            }

            DangerStatus = ticket.DangerStatus;
            // _amount = ticket.Amount;
            _amount = ticket.Admin.Stock;

            var transDate = ticket.TransDate;
            TransDate = transDate;
            BetTime   = transDate.Substring(11);

            var betDate = transDate.Substring(5, 10);
            BetDate = $"{betDate[3]}{betDate[4]}/{betDate[0]}{betDate[1]}";

            BetIp = ticket.BetIp;

            RefNo = ticket.RefNo;
            if (IsStock)
            {
                RefNoColor = Color.Black;
            }
            else
            {
                RefNoColor = Color.BlueViolet;
            }

            Operated = ticket.CreateName;

            Updated = ticket.UpdateName;

            MatchCode = ticket.MatchId;

            #endregion

            #region Hide fields

            if (_hideMemberInfo)
            {
                Account = LONG_HIDDEN_VALUE;
                // AccountColor = Color.Black;

                BetIp = LONG_HIDDEN_VALUE;
            }

            if (_hideRefNo)
            {
                RefNo = LONG_HIDDEN_VALUE;
            }

            if (_hideDates)
            {
                BetDate = HIDDEN_VALUE;
                BetTime = HIDDEN_VALUE;
            }

            #endregion
        }