Example #1
0
        private static void AllDraws(DrawHistory draws, List<CalculatorHost> calculators, Draw lastDraw)
        {
            int totalDraws = draws.Count;

            Console.WriteLine("Draws");
            Console.WriteLine("All " + totalDraws);

            int validDraws = 0;
            int invalidDraws = 0;

            var list = draws.GetRange(0, draws.Count - 1);

            foreach (Draw draw in list)
            {
                bool isValid = true;

                foreach (CalculatorHost calculator in calculators)
                {
                    if (!calculator.Validate(lastDraw, draw))
                    {
                        isValid = false;
                        break;
                    }
                }

                if (isValid)
                    validDraws++;
                else
                    invalidDraws++;
            }

            Console.WriteLine("Valid " + validDraws + " - " + (((double)validDraws / (double)totalDraws) * 100));
            Console.WriteLine("Invaild " + invalidDraws + " - " + (((double)invalidDraws / (double)totalDraws) * 100));
        }
Example #2
0
 public void ResetDrawData()
 {
     lock (listLock)
     {
         DrawItems.Clear();
         DrawItems.AddRange(OrignalDrawItems);
         DrawHistory.Clear();
     }
 }
Example #3
0
        public void ExecutionCode(object source, System.Timers.ElapsedEventArgs e)
        {
            string      url   = host + "/cp/loadDrawHistory.do?siteCode=HELSSC1&noOfD=4";
            DrawHistory data1 = null;

            try
            {
                string result = HttpCommon.HttpGet(url);
                data1 = JsonConvert.DeserializeObject <DrawHistory>(result);
            }
            catch (Exception)
            {
                data1 = null;
            }
            if (data1 != null)
            {
                List <Message> Messagelist = JsonConvert.DeserializeObject <List <Message> >(data1.Message);
                DataTable      dt          = caifenfen.GetLast();
                int            last_n      = 0;
                if (dt.Rows.Count > 0)
                {
                    last_n = Convert.ToInt32(dt.Rows[0]["n"]);
                }

                foreach (Message m in Messagelist)
                {
                    int n = Convert.ToInt32(m.n);
                    if (n <= last_n)
                    {
                        continue;
                    }
                    string[] d = m.r.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    string   r = m.r;

                    Array.Sort(d);
                    string[] a  = d.Distinct().ToArray();
                    string   sn = string.Join("", a);

                    int wan  = Convert.ToInt32(d[0]);
                    int qian = Convert.ToInt32(d[1]);
                    int bai  = Convert.ToInt32(d[2]);
                    int shi  = Convert.ToInt32(d[3]);
                    int ge   = Convert.ToInt32(d[4]);
                    try
                    {
                        caifenfen.Insert(n, r, wan, qian, bai, shi, ge, sn);
                    }
                    catch
                    {
                        continue;
                    }
                }
            }
        }
Example #4
0
        private static void ShowMissingDrawHistory(DrawHistory dh)
        {
            List<DateTime> missing = dh.GetMissingHistory();

            if (missing != null && missing.Count > 0)
            {
                Console.WriteLine("Missing Draw Draw History:");
                foreach (DateTime date in missing)
                    Console.WriteLine("\t" + date.ToLongDateString() + " (" + date.DayOfWeek.ToString() + ")");
                Console.WriteLine();
            }
        }
Example #5
0
        public bool StartNewRound(DrawItemGroup newGroup)
        {
            if (DrawItems.Count == 0)
            {
                return(false);
            }

            newGroup.groupIndex = DrawHistory.Count + 1;
            DrawHistory.Insert(0, newGroup);

            return(true);
        }
Example #6
0
        public bool UpdateDrawData(DrawItem item)
        {
            lock (listLock)
            {
                var group = DrawHistory.FirstOrDefault();
                if (group != null)
                {
                    if ((!group.Items.Contains(item)) && DrawItems.Contains(item))
                    {
                        group.Items.Insert(0, item.ToWinnerItem(group.groupIndex));
                        DrawItems.Remove(item);
                        return(true);
                    }
                }

                return(false);
            }
        }
Example #7
0
        private static void OutputNextSet(DrawHistory dh, List<CalculatorHost> calculators, int matchesBeforeFail)
        {
            Draw d = null;
            bool valid = true;

            do
            {
                d = dh.Next(matchesBeforeFail);
                valid = true;

                //d = new Draw(new List<int> { 15, 21, 26, 30, 47, 48 });

                foreach (CalculatorHost calculator in calculators)
                {
                    valid = calculator.Validate(dh.Last(), d);

                    if (!valid)
                        break;
                }
            }
            while (!valid);

            Console.WriteLine(d.ToString());
        }
Example #8
0
 public void Populate(DrawHistory draws)
 {
     foreach (Draw draw in draws)
         Populate(draw);
 }
 public void Populate(DrawHistory drawHistory)
 {
     _calculator.Populate(drawHistory);
 }
Example #10
0
 public void DeleteGroupRecord(DrawItemGroup group)
 {
     DrawHistory.Remove(group);
 }