Exemple #1
0
        /// <summary>
        /// 线长分布
        /// </summary>
        /// <param name="lt_lotterys"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        private PieData getSomeRangePie(List <Tendency2Model> lt_lotterys, EnumLotteryPatter type = 0)
        {
            string strType = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                strType = "大大";
                break;

            case EnumLotteryPatter.Small:
                strType = "小小";
                break;

            case EnumLotteryPatter.BigSmall:
                strType = "大小";
                break;

            case EnumLotteryPatter.SmallBig:
                strType = "小大";
                break;

            case EnumLotteryPatter.Dbl:
                strType = "重重";
                break;

            case EnumLotteryPatter.Odd:
                strType = "奇奇";
                break;

            case EnumLotteryPatter.Pair:
                strType = "偶偶";
                break;

            case EnumLotteryPatter.OddPair:
                strType = "奇偶";
                break;

            case EnumLotteryPatter.PairOdd:
                strType = "偶奇";
                break;
            }

            PieData pie = new PieData()
            {
                Name = strType
            };


            List <Tendency2Model> lt_0 = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                lt_0 = lt_lotterys.Where(l => l.Big == 0).ToList();
                break;

            case EnumLotteryPatter.Small:
                lt_0 = lt_lotterys.Where(l => l.Small == 0).ToList();
                break;

            case EnumLotteryPatter.BigSmall:
                lt_0 = lt_lotterys.Where(l => l.BigSmall == 0).ToList();
                break;

            case EnumLotteryPatter.SmallBig:
                lt_0 = lt_lotterys.Where(l => l.SmallBig == 0).ToList();
                break;

            case EnumLotteryPatter.Dbl:
                lt_0 = lt_lotterys.Where(l => l.Dbl == 0).ToList();
                break;

            case EnumLotteryPatter.Odd:
                lt_0 = lt_lotterys.Where(l => l.Odd == 0).ToList();
                break;

            case EnumLotteryPatter.Pair:
                lt_0 = lt_lotterys.Where(l => l.Pair == 0).ToList();
                break;

            case EnumLotteryPatter.OddPair:
                lt_0 = lt_lotterys.Where(l => l.OddPair == 0).ToList();
                break;

            case EnumLotteryPatter.PairOdd:
                lt_0 = lt_lotterys.Where(l => l.PairOdd == 0).ToList();
                break;
            }

            List <Tendency2Model> lt_sno = new List <Tendency2Model>();

            lt_0.ForEach(item =>
            {
                if (int.Parse(item.Sno) > 0)
                {
                    lt_sno.Add(new Tendency2Model()
                    {
                        Ymd = item.Ymd, Sno = (int.Parse(item.Sno) - 1).ToString().PadLeft(4, '0')
                    });
                }
            });

            //效率高
            List <Tendency2Model> lt_Result = (from a in lt_lotterys
                                               join b in lt_sno
                                               on new { a.Ymd, a.Sno } equals new { b.Ymd, b.Sno }
                                               select a).ToList();
            ///效率低
            //lt_sno.ForEach(item =>
            //{
            //    var ll = lt_lotterys.Where(l => l.Ymd == item.Ymd && l.Sno == item.Sno).FirstOrDefault();
            //    if (ll != null)
            //    {
            //        lt_Result.Add(ll);
            //    }
            //});

            List <PieDataCount> lt_count = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                lt_count = lt_Result.GroupBy(l => l.Big).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Small:
                lt_count = lt_Result.GroupBy(l => l.Small).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.BigSmall:
                lt_count = lt_Result.GroupBy(l => l.BigSmall).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.SmallBig:
                lt_count = lt_Result.GroupBy(l => l.SmallBig).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Dbl:
                lt_count = lt_Result.GroupBy(l => l.Dbl).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Odd:
                lt_count = lt_Result.GroupBy(l => l.Odd).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Pair:
                lt_count = lt_Result.GroupBy(l => l.Pair).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.OddPair:
                lt_count = lt_Result.GroupBy(l => l.OddPair).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.PairOdd:
                lt_count = lt_Result.GroupBy(l => l.PairOdd).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;
            }

            lt_count.ForEach(item =>
            {
                item.Num = item.Num.PadLeft(2, '0') + ":" + item.Count.ToString();
            });

            string per = ((lt_0.Count / (double)lt_lotterys.Count) * 100).ToString("f2") + "%";

            pie.Name = pie.Name + "(max:" + lt_count.Max(l => l.Num) + ")";

            pie.SubName = "p.c: " + lt_0.Count + "/" + lt_lotterys.Count + " = " + per;
            pie.List    = lt_count.OrderBy(l => l.Num).ToList();
            return(pie);
        }
Exemple #2
0
        /// <summary>
        /// 时间分布
        /// </summary>
        /// <param name="lt_lotterys"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        private PieData getSomeRangeTimePie(List <Tendency2Model> lt_lotterys, EnumLotteryPatter type = 0)
        {
            string strType = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                strType = "大大";
                break;

            case EnumLotteryPatter.Small:
                strType = "小小";
                break;

            case EnumLotteryPatter.BigSmall:
                strType = "大小";
                break;

            case EnumLotteryPatter.SmallBig:
                strType = "小大";
                break;

            case EnumLotteryPatter.Dbl:
                strType = "重重";
                break;

            case EnumLotteryPatter.Odd:
                strType = "奇奇";
                break;

            case EnumLotteryPatter.Pair:
                strType = "偶偶";
                break;

            case EnumLotteryPatter.OddPair:
                strType = "奇偶";
                break;

            case EnumLotteryPatter.PairOdd:
                strType = "偶奇";
                break;
            }

            PieData pie = new PieData()
            {
                Name = strType
            };


            List <Tendency2Model> lt_0 = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                lt_0 = lt_lotterys.Where(l => l.Big == 0).ToList();
                break;

            case EnumLotteryPatter.Small:
                lt_0 = lt_lotterys.Where(l => l.Small == 0).ToList();
                break;

            case EnumLotteryPatter.BigSmall:
                lt_0 = lt_lotterys.Where(l => l.BigSmall == 0).ToList();
                break;

            case EnumLotteryPatter.SmallBig:
                lt_0 = lt_lotterys.Where(l => l.SmallBig == 0).ToList();
                break;

            case EnumLotteryPatter.Dbl:
                lt_0 = lt_lotterys.Where(l => l.Dbl == 0).ToList();
                break;

            case EnumLotteryPatter.Odd:
                lt_0 = lt_lotterys.Where(l => l.Odd == 0).ToList();
                break;

            case EnumLotteryPatter.Pair:
                lt_0 = lt_lotterys.Where(l => l.Pair == 0).ToList();
                break;

            case EnumLotteryPatter.OddPair:
                lt_0 = lt_lotterys.Where(l => l.OddPair == 0).ToList();
                break;

            case EnumLotteryPatter.PairOdd:
                lt_0 = lt_lotterys.Where(l => l.PairOdd == 0).ToList();
                break;
            }

            ///05/24 06:34
            lt_0.ForEach(item =>
            {
                if (!string.IsNullOrEmpty(item.Dtime) && item.Dtime.Length == 11)
                {
                    item.Dtime = item.Dtime.Substring(6, 2);//取小时
                }
            });

            List <PieDataCount> lt_count = lt_0.GroupBy(l => l.Dtime).Select(l => (new PieDataCount()
            {
                Num = l.Key, Count = l.Count()
            })).ToList();

            string per = ((lt_0.Count / (double)lt_lotterys.Count) * 100).ToString("f2") + "%";

            pie.Name = pie.Name + "(max:" + lt_count.Max(l => l.Num) + ")";

            pie.SubName = "p.c: " + lt_0.Count + "/" + lt_lotterys.Count + " = " + per;
            pie.List    = lt_count.OrderBy(l => l.Num).ToList();
            return(pie);
        }
Exemple #3
0
        private PieData getSomePie(List <Tendency2Model> lt_lotterys, EnumLotteryPatter type = 0)
        {
            string strType = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                strType = "大大";
                break;

            case EnumLotteryPatter.Small:
                strType = "小小";
                break;

            case EnumLotteryPatter.BigSmall:
                strType = "大小";
                break;

            case EnumLotteryPatter.SmallBig:
                strType = "小大";
                break;

            case EnumLotteryPatter.Dbl:
                strType = "重重";
                break;

            case EnumLotteryPatter.Odd:
                strType = "奇奇";
                break;

            case EnumLotteryPatter.Pair:
                strType = "偶偶";
                break;

            case EnumLotteryPatter.OddPair:
                strType = "奇偶";
                break;

            case EnumLotteryPatter.PairOdd:
                strType = "偶奇";
                break;
            }

            PieData pie = new PieData()
            {
                Name = strType
            };
            List <Tendency2Model> lt_Result = new List <Tendency2Model>();

            List <Tendency2Model> lt_0 = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                lt_0 = lt_lotterys.Where(l => l.Big == 0).ToList();
                break;

            case EnumLotteryPatter.Small:
                lt_0 = lt_lotterys.Where(l => l.Small == 0).ToList();
                break;

            case EnumLotteryPatter.BigSmall:
                lt_0 = lt_lotterys.Where(l => l.BigSmall == 0).ToList();
                break;

            case EnumLotteryPatter.SmallBig:
                lt_0 = lt_lotterys.Where(l => l.SmallBig == 0).ToList();
                break;

            case EnumLotteryPatter.Dbl:
                lt_0 = lt_lotterys.Where(l => l.Dbl == 0).ToList();
                break;

            case EnumLotteryPatter.Odd:
                lt_0 = lt_lotterys.Where(l => l.Odd == 0).ToList();
                break;

            case EnumLotteryPatter.Pair:
                lt_0 = lt_lotterys.Where(l => l.Pair == 0).ToList();
                break;

            case EnumLotteryPatter.OddPair:
                lt_0 = lt_lotterys.Where(l => l.OddPair == 0).ToList();
                break;

            case EnumLotteryPatter.PairOdd:
                lt_0 = lt_lotterys.Where(l => l.PairOdd == 0).ToList();
                break;
            }

            List <string> lt_sno = new List <string>();

            lt_0.ForEach(item =>
            {
                if (int.Parse(item.Sno) > 0)
                {
                    lt_sno.Add((int.Parse(item.Sno) - 1).ToString().PadLeft(4, '0'));
                }
            });

            lt_sno.ForEach(item =>
            {
                var ll = lt_lotterys.Where(l => l.Sno == item).FirstOrDefault();
                if (ll != null)
                {
                    lt_Result.Add(ll);
                }
            });

            List <PieDataCount> lt_count = null;

            switch (type)
            {
            case EnumLotteryPatter.Big:
                lt_count = lt_Result.GroupBy(l => l.Big).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Small:
                lt_count = lt_Result.GroupBy(l => l.Small).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.BigSmall:
                lt_count = lt_Result.GroupBy(l => l.BigSmall).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.SmallBig:
                lt_count = lt_Result.GroupBy(l => l.SmallBig).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Dbl:
                lt_count = lt_Result.GroupBy(l => l.Dbl).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Odd:
                lt_count = lt_Result.GroupBy(l => l.Odd).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.Pair:
                lt_count = lt_Result.GroupBy(l => l.Pair).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.OddPair:
                lt_count = lt_Result.GroupBy(l => l.OddPair).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;

            case EnumLotteryPatter.PairOdd:
                lt_count = lt_Result.GroupBy(l => l.PairOdd).Select(l => (new PieDataCount()
                {
                    Num = l.Key.ToString(), Count = l.Count()
                })).ToList();
                break;
            }

            string per = ((lt_0.Count / (double)lt_lotterys.Count) * 100).ToString("f2") + "%";

            pie.Name = pie.Name + "(max:" + lt_count.Max(l => l.Num) + ")";

            pie.SubName = "p.c:" + lt_0.Count + "-" + per;
            pie.List    = lt_count.OrderBy(l => l.Num).ToList();
            return(pie);
        }