Exemple #1
0
        public static void ComputeAvg()
        {
            Dictionary <string, List <int> > numberSpanDict = new Dictionary <string, List <int> >(110);
            DwNumberBiz     biz         = new DwNumberBiz("shand11x5");
            DwSpanBiz       spanBiz     = new DwSpanBiz("shand11x5", "peroid");
            List <DwNumber> numbers     = biz.DataAccessor.SelectWithCondition(string.Empty, DwNumber.C_P, SortTypeEnum.ASC, null, DwNumber.C_P, DwNumber.C_P2);
            List <DwSpan>   periodSpans = spanBiz.DataAccessor.SelectWithCondition(string.Empty, DwSpan.C_P, SortTypeEnum.ASC, null, DwSpan.C_P, DwSpan.C_P2Spans);

            var spanDict = periodSpans.ToDictionary(x => x.P, y => y.P2Spans);

            foreach (var number in numbers)
            {
                if (!numberSpanDict.ContainsKey(number.P2))
                {
                    numberSpanDict.Add(number.P2, new List <int>(10000));
                }
                numberSpanDict[number.P2].Add(spanDict[number.P]);
            }

            StreamWriter sw = new StreamWriter(@"E:\avgSpan.txt", false, Encoding.UTF8);

            foreach (var kv in numberSpanDict)
            {
                int total = 0;
                for (var i = 0; i < kv.Value.Count; i++)
                {
                    total += kv.Value[i];
                    sw.WriteLine("{0},{1},{2},{3}", kv.Key, i + 1, (total * 1.0) / ((i + 1) * 1.0), kv.Value[i]);
                }
            }
            sw.Close();
        }
Exemple #2
0
        protected override void ExecuteCommand(Action<string> output, params string[] args)
        {
            WebClient wc = new WebClient();
            wc.Encoding = Encoding.UTF8;
            string urlFormat = "http://www.pinble.com/Template/WebService1.asmx/Present3DList?pageindex={0}&lottory={1}&pl3={2}&name={3}&isgp={4}";

            List<Category> categories = CategoryBiz.Instance.GetEnabledCategories(false);
            Dictionary<string, string> dict = new Dictionary<string, string>(categories.Count);
            string dataSourceName = ConfigHelper.GetAppSettings("dataSource");
            DataSourceElement config = ConfigManager.DataSourceSection.DataSources[dataSourceName];
            DwNumberBiz biz = new DwNumberBiz("shand11x5");

            foreach (var category in categories)
            {
                if (category.ParentId == 0) continue;
                string url = string.Format(urlFormat, 1, category.Code, "", category.Name, category.IsGP);
                string htmlText = wc.DownloadString(url);
                int peroidCount = ConvertHelper.GetInt32(Regex.Match(htmlText, "共\\:(\\d+)条", RegexOptions.Singleline | RegexOptions.IgnoreCase).Groups[1].Value);
                int pageCount = ConvertHelper.GetInt32(Regex.Match(htmlText, "分页\\:1/(\\d+)页", RegexOptions.Singleline | RegexOptions.IgnoreCase).Groups[1].Value);
                Category entity = new Category() { Id = category.Id, PeroidCount = peroidCount, DownPageCount = pageCount };
                CategoryBiz.Instance.Modify(entity, entity.Id, Category.C_DownPageCount, Category.C_PeroidCount);
                biz.DataAccessor.ConnectionString = config.Databases[category.DbName.Trim().ToLower()].ConnectionString;
                int maxSeq = biz.DataAccessor.SelectMaxWithCondition("Seq", 10, string.Empty);
                int downPeroids = biz.Count;

                string propmt = string.Format("{0}:{1}",
                    category.Name, string.Format("{0}期,下载,{1}期,Max Seq,{2}", peroidCount, downPeroids, maxSeq));
                output(propmt);

                if (category.Type.Equals("11X5"))
                    this.CheckC5CX(output, category, biz.DataAccessor.ConnectionString);
            }
        }
Exemple #3
0
        public void C1StatMain(string dbName)
        {
            DwNumberBiz     biz     = new DwNumberBiz(dbName);
            List <DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);

            Span(numbers);
        }
Exemple #4
0
        private void Stat(object dbName)
        {
            DwNumberBiz     biz        = new DwNumberBiz(dbName.ToString());
            List <DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "F2", "P", "N", "Date");

            for (int i = 0; i < allNumbers.Count; i++)
            {
                allNumbers[i].Seq = i + 1;
            }
            HashSet <string> allF2Numbers = this.GetAllF2Numbers(dbName.ToString());

            string       fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "F2_PeroidSpan");
            string       filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer   = new StreamWriter(filePath, false, Encoding.UTF8);

            foreach (string numberId in allF2Numbers)
            {
                var numbers = allNumbers.Where(x => x.F2.Trim().Equals(numberId)).OrderBy(x => x.Seq).ToArray();
                for (int j = 0; j < numbers.Length; j++)
                {
                    int spans = -1;
                    int lastN = 0;
                    if (j > 0)
                    {
                        spans = numbers[j].Seq - numbers[j - 1].Seq - 1;
                        lastN = numbers[j - 1].N;
                    }
                    string line = string.Format("{0},{1},{2},{3}", numbers[j].P, numberId, spans, lastN);
                    writer.WriteLine(line);
                }
            }

            writer.Close();
            Console.WriteLine("{0},F2PeroidSpan,Finished", dbName);
        }
Exemple #5
0
        private void Stat(object dbName)
        {
            DwNumberBiz     biz          = new DwNumberBiz(dbName.ToString());
            List <DwNumber> allNumbers   = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "D1", "P");
            int             numberCount  = allNumbers.Count;
            HashSet <int>   allD1Numbers = this.GetAllD1Numbers();

            string       fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "D1_PeroidNumbers");
            string       filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer   = new StreamWriter(filePath, false, Encoding.UTF8);

            for (int i = 0; i < numberCount - 5; i++)
            {
                int count = 0;
                for (int n = 5; count < 11; n++)
                {
                    if (i + n >= numberCount)
                    {
                        break;
                    }
                    var subSet = allNumbers.GetRange(i, n).Select(y => y.D1).Distinct();
                    count = this.GetCount <int>(subSet, allD1Numbers);
                    string line = string.Format("{0},{1},{2}", allNumbers[i].P, n, count);
                    writer.WriteLine(line);
                }
            }
            writer.Close();
            Console.WriteLine("{0},D1PeroidNumbers,Finished", dbName);
        }
Exemple #6
0
        private void Stat(object dbName)
        {
            DwNumberBiz biz = new DwNumberBiz(dbName.ToString());
            List<DwNumber> allNumbers = biz.GetAll("F3", "Date");
            List<DwNumber> allDates = biz.DataAccessor.SelectDistinctDate();
            int end = allDates.Count;
            HashSet<string> allF3Numbers = this.GetAllF3Numbers(dbName.ToString());

            string fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "F3_DayNumbers");
            string filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
            for (int i = 0; i < end; i++)
            {
                int count = 0;
                for (int day = 0; count < 990; day++)
                {
                    int next = i + day;
                    if (next >= end) break;
                    var subSet = allNumbers
                        .Where(x => x.Date >= allDates[i].Date && x.Date <= allDates[next].Date)
                        .Select(y => y.F3.Trim())
                        .Distinct();
                    count = this.GetCount<string>(subSet, allF3Numbers);
                    string line = string.Format("{0},{1},{2}", allDates[i].Date, day + 1, count);
                    writer.WriteLine(line);
                }
            }
            writer.Close();
            Console.WriteLine("{0},F3DayNumbers,Finished", dbName);
        }
Exemple #7
0
        private void Stat(object dbName)
        {
            DwNumberBiz      biz          = new DwNumberBiz(dbName.ToString());
            List <DwNumber>  allNumbers   = biz.GetAll("F2", "Date");
            List <DwNumber>  allDates     = biz.DataAccessor.SelectDistinctDate();
            int              end          = allDates.Count;
            HashSet <string> allF2Numbers = this.GetAllF2Numbers(dbName.ToString());

            string       fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "F2_DayNumbers");
            string       filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer   = new StreamWriter(filePath, false, Encoding.UTF8);

            for (int i = 0; i < end; i++)
            {
                int count = 0;
                for (int day = 0; count < 110; day++)
                {
                    int next = i + day;
                    if (next >= end)
                    {
                        break;
                    }
                    var subSet = allNumbers
                                 .Where(x => x.Date >= allDates[i].Date && x.Date <= allDates[next].Date)
                                 .Select(y => y.F2.Trim())
                                 .Distinct();
                    count = this.GetCount <string>(subSet, allF2Numbers);
                    string line = string.Format("{0},{1},{2}", allDates[i].Date, day + 1, count);
                    writer.WriteLine(line);
                }
            }
            writer.Close();
            Console.WriteLine("{0},F2DayNumbers,Finished", dbName);
        }
Exemple #8
0
        public static void ComputeAvg()
        {
            Dictionary<string, List<int>> numberSpanDict = new Dictionary<string, List<int>>(110);
            DwNumberBiz biz = new DwNumberBiz("shand11x5");
            DwSpanBiz spanBiz = new DwSpanBiz("shand11x5", "peroid");
            List<DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, DwNumber.C_P, SortTypeEnum.ASC, null, DwNumber.C_P, DwNumber.C_P2);
            List<DwSpan> periodSpans = spanBiz.DataAccessor.SelectWithCondition(string.Empty, DwSpan.C_P, SortTypeEnum.ASC, null, DwSpan.C_P, DwSpan.C_P2Spans);

            var spanDict = periodSpans.ToDictionary(x => x.P, y => y.P2Spans);
            foreach (var number in numbers)
            {
                if (!numberSpanDict.ContainsKey(number.P2))
                {
                    numberSpanDict.Add(number.P2, new List<int>(10000));
                }
                numberSpanDict[number.P2].Add(spanDict[number.P]);
            }

            StreamWriter sw = new StreamWriter(@"E:\avgSpan.txt", false, Encoding.UTF8);
            foreach (var kv in numberSpanDict)
            {
                int total = 0;
                for (var i = 0; i < kv.Value.Count; i++)
                {
                    total += kv.Value[i];
                    sw.WriteLine("{0},{1},{2},{3}", kv.Key, i + 1, (total * 1.0) / ((i + 1) * 1.0), kv.Value[i]);
                }
            }
            sw.Close();
        }
Exemple #9
0
        private void Stat(object dbName)
        {
            DwNumberBiz biz = new DwNumberBiz(dbName.ToString());
            List<DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "D1","P","N","Date");
            for (int i = 0; i < allNumbers.Count; i++) allNumbers[i].Seq = i+1;
            HashSet<int> allD1Numbers = this.GetAllD1Numbers();

            string fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "D1_PeroidSpan");
            string filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
            foreach (int numberId in allD1Numbers)
            {
                var numbers = allNumbers.Where(x => x.D1.Equals(numberId)).OrderBy(x => x.Seq).ToArray();
                for (int j = 0; j < numbers.Length; j++)
                {
                    int spans = -1;
                    int lastN = 0;
                    if (j > 0)
                    {
                        spans = numbers[j].Seq - numbers[j - 1].Seq - 1;
                        lastN = numbers[j - 1].N;
                    }
                    string line = string.Format("{0},{1},{2},{3}", numbers[j].P, numberId, spans, lastN);
                    writer.WriteLine(line);
                }
            }

            writer.Close();
            Console.WriteLine("{0},D1PeroidSpan,Finished", dbName);
        }
        private void Stat(object dbName)
        {
            DwNumberBiz biz = new DwNumberBiz(dbName.ToString());
            List<DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "D1", "P");
            int numberCount = allNumbers.Count;
            HashSet<int> allD1Numbers = this.GetAllD1Numbers();

            string fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "D1_PeroidNumbers");
            string filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
            for (int i = 0; i < numberCount - 5; i++)
            {
                int count = 0;
                for (int n = 5; count < 11; n++)
                {
                    if (i + n >= numberCount) break;
                    var subSet = allNumbers.GetRange(i, n).Select(y => y.D1).Distinct();
                    count = this.GetCount<int>(subSet, allD1Numbers);
                    string line = string.Format("{0},{1},{2}", allNumbers[i].P, n, count);
                    writer.WriteLine(line);
                }
            }
            writer.Close();
            Console.WriteLine("{0},D1PeroidNumbers,Finished", dbName);
        }
Exemple #11
0
        private static void ImportSSC(string line, string name,int index)
        {
            DwNumberBiz biz = null;
            if (name.Equals("江西时时彩")) biz = new DwNumberBiz("JiangXSSC");
            if (name.Equals("重庆时时彩")) biz = new DwNumberBiz("ChongQSSC");

            //biz.Add(dto);
        }
Exemple #12
0
        protected override void Stat(string dbName, bool isReset)
        {
            string[]        dmNames = DimensionNumberTypeBiz.Instance.GetEnabledDimensions("11X5");
            DwNumberBiz     biz     = new DwNumberBiz(dbName);
            List <DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);

            this.StatC5CX(numbers, dbName, isReset);
        }
Exemple #13
0
        protected override void Stat(string dbName, bool isReset)
        {
            string[] dmNames = DimensionNumberTypeBiz.Instance.GetEnabledDimensions("11X5");
            DwNumberBiz biz = new DwNumberBiz(dbName);
            List<DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);

            this.Stat(dbName, dmNames, numbers,isReset);
        }
Exemple #14
0
 public static void UpdateP(int categoryId, string p, string code)
 {
     Category category = CategoryBiz.Instance.GetById(categoryId);
     DwNumberBiz biz = new DwNumberBiz(category.DbName);
     DwNumber number = biz.GetById(p);
     DwNumber newNumber = biz.Create(number.P, number.N, code, number.Date, number.Created.ToString());
     newNumber.Seq = number.Seq;
     biz.Modify(newNumber, newNumber.P.ToString());
 }
Exemple #15
0
        private static void ImportD11X5(string line, string name)
        {
            DwNumberBiz biz = null;
            if (name.Equals("江西多乐彩")) biz = new DwNumberBiz("jiangx11x5");
            if (name.Equals("广东11选5")) biz = new DwNumberBiz("guangd11x5");
            if (name.Equals("山东十一运夺金")) biz = new DwNumberBiz("shand11x5");

            //biz.Add(dto);
            //writer.WriteLine(dto.ToString());
        }
Exemple #16
0
        public static void Update(int categoryId, string p, string code)
        {
            Category    category  = CategoryBiz.Instance.GetById(categoryId);
            DwNumberBiz biz       = new DwNumberBiz(category.DbName);
            DwNumber    number    = biz.GetById(p);
            DwNumber    newNumber = biz.Create(number.P, number.N, code, number.Date, number.Created.ToString());

            newNumber.Seq = number.Seq;
            biz.Modify(newNumber, newNumber.P.ToString());
        }
 protected override void Stat(string dbName, OutputType outputType)
 {
     DwNumberBiz biz = new DwNumberBiz(dbName.ToString());
     List<DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null);
     //List<DwNumber> allNumbers = biz.DataAccessor.SelectTopN(10, string.Empty, "P", SortTypeEnum.ASC, null);
     //string[] rules = new string[] { "D1", "F2", "C2", "F3", "C3", "A5"};
     string[] rules = new string[] {"F2" };
     foreach (string rule in rules)
     {
         this.Stat(allNumbers, rule, dbName.ToString());
         Console.WriteLine("{0} {1} Finished", dbName, rule);
     }
 }
Exemple #18
0
        protected override void Stat(string dbName, bool isReset)
        {
            string[]        dmNames = DimensionNumberTypeBiz.Instance.GetEnabledDimensions("3D");
            DwNumberBiz     biz     = new DwNumberBiz(dbName);
            List <DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);

            foreach (string dmName in dmNames)
            {
                string[] numberTypes = DimensionNumberTypeBiz.Instance.GetNumberTypes("3D", dmName);
                this.Stat(numbers, dbName, dmName, numberTypes, isReset);
            }

            Console.WriteLine("{0} {1} Finished", dbName, "ALL Span");
        }
Exemple #19
0
        protected override void Stat(string dbName,bool isReset)
        {
            string[] dmNames = DimensionNumberTypeBiz.Instance.GetEnabledDimensions("PL35");
            DwNumberBiz biz = new DwNumberBiz(dbName);
            List<DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);

            foreach (string dmName in dmNames)
            {
                string[] numberTypes = DimensionNumberTypeBiz.Instance.GetNumberTypes("PL35", dmName);
                this.Stat(numbers, dbName, dmName, numberTypes, isReset);
            }

            Console.WriteLine("{0} {1} Finished", dbName, "ALL Span");
        }
Exemple #20
0
        protected override void Stat(string dbName, OutputType outputType)
        {
            DwNumberBiz     biz        = new DwNumberBiz(dbName.ToString());
            List <DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null);

            //List<DwNumber> allNumbers = biz.DataAccessor.SelectTopN(10, string.Empty, "P", SortTypeEnum.ASC, null);
            //string[] rules = new string[] { "D1", "F2", "C2", "F3", "C3", "A5"};
            string[] rules = new string[] { "F2" };
            foreach (string rule in rules)
            {
                this.Stat(allNumbers, rule, dbName.ToString());
                Console.WriteLine("{0} {1} Finished", dbName, rule);
            }
        }
Exemple #21
0
        private void Stat(object dbName)
        {
            DwNumberBiz     biz        = new DwNumberBiz(dbName.ToString());
            List <DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "F3");

            for (int i = 0; i < allNumbers.Count; i++)
            {
                allNumbers[i].Seq = i;
            }

            int numberCount = allNumbers.Count;
            Dictionary <string, int> nextDict = new Dictionary <string, int>(990 * 990);

            string[] f3Numbers = null; // biz.DataAccessor.SelectDistinctF3();
            foreach (string f3 in f3Numbers)
            {
                foreach (string f31 in f3Numbers)
                {
                    nextDict.Add(string.Format("{0},{1}", f3.Trim(), f31.Trim()), 0);
                }
            }

            foreach (string f3 in f3Numbers)
            {
                var numbers = allNumbers.Where(x => x.F3.Trim().Equals(f3.Trim()));
                foreach (var number in numbers)
                {
                    int nextIndex = number.Seq + 1;
                    if (nextIndex >= allNumbers.Count)
                    {
                        continue;
                    }
                    string key = string.Format("{0},{1}", f3.Trim(), allNumbers[nextIndex].F3.Trim());
                    nextDict[key]++;
                }
            }

            string       fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "F3_NextNumbers");
            string       filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer   = new StreamWriter(filePath, false, Encoding.UTF8);

            foreach (var kp in nextDict)
            {
                string line = string.Format("{0},{1}", kp.Key, kp.Value);
                writer.WriteLine(line);
            }
            writer.Close();
            Console.WriteLine("{0},F3NextNumbers,Finished", dbName);
        }
Exemple #22
0
        private static void ImportSSC(string line, string name, int index)
        {
            DwNumberBiz biz = null;

            if (name.Equals("江西时时彩"))
            {
                biz = new DwNumberBiz("JiangXSSC");
            }
            if (name.Equals("重庆时时彩"))
            {
                biz = new DwNumberBiz("ChongQSSC");
            }

            //biz.Add(dto);
        }
Exemple #23
0
        private void Stat(object dbName)
        {
            DwNumberBiz     biz        = new DwNumberBiz(dbName.ToString());
            List <DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "D1");

            for (int i = 0; i < allNumbers.Count; i++)
            {
                allNumbers[i].Seq = i;
            }

            int numberCount = allNumbers.Count;
            Dictionary <string, int> nextNumberDict = new Dictionary <string, int>(11 * 11);

            for (int i = 1; i <= 11; i++)
            {
                var numbers = allNumbers.Where(x => x.D1.Equals(i));
                foreach (var number in numbers)
                {
                    int nextIndex = number.Seq + 1;
                    if (nextIndex >= numberCount)
                    {
                        continue;
                    }
                    string key = string.Format("{0},{1}", i, allNumbers[nextIndex].D1);
                    if (nextNumberDict.ContainsKey(key))
                    {
                        nextNumberDict[key]++;
                    }
                    else
                    {
                        nextNumberDict.Add(key, 1);
                    }
                }
            }

            string       fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "D1_NextNumbers");
            string       filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer   = new StreamWriter(filePath, false, Encoding.UTF8);

            foreach (var kp in nextNumberDict)
            {
                string line = string.Format("{0},{1}", kp.Key, kp.Value);
                writer.WriteLine(line);
            }
            writer.Close();
            Console.WriteLine("{0},D1NextNumbers,Finished", dbName);
        }
Exemple #24
0
        public static void UpdateC4()
        {
            List<Category> categories = CategoryBiz.Instance.GetEnabledCategories("11X5");
            foreach (Category category in categories)
            {
                DwNumberBiz biz = new DwNumberBiz(category.DbName);
                List<DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty,
                    "Seq", Data.SortTypeEnum.ASC, null, "P", "P4");

                foreach (var number in numbers)
                {
                    string colValue = NumberCache.Instance.GetNumberId("C4",number.P4.ToString(2));
                    string sql = string.Format("update {0} set {1} = '{2}' where P = {3}",
                        DwNumber.ENTITYNAME, "C4", colValue, number.P);
                    Data.SqlHelper.ExecuteNonQuery(biz.DataAccessor.ConnectionString, System.Data.CommandType.Text, sql);
                }
            }
        }
Exemple #25
0
        protected override void ExecuteCommand(Action <string> output, params string[] args)
        {
            WebClient wc = new WebClient();

            wc.Encoding = Encoding.UTF8;
            string urlFormat = "http://www.pinble.com/Template/WebService1.asmx/Present3DList?pageindex={0}&lottory={1}&pl3={2}&name={3}&isgp={4}";

            List <Category>             categories = CategoryBiz.Instance.GetEnabledCategories(false);
            Dictionary <string, string> dict       = new Dictionary <string, string>(categories.Count);
            string            dataSourceName       = ConfigHelper.GetAppSettings("dataSource");
            DataSourceElement config = ConfigManager.DataSourceSection.DataSources[dataSourceName];
            DwNumberBiz       biz    = new DwNumberBiz("shand11x5");

            foreach (var category in categories)
            {
                if (category.ParentId == 0)
                {
                    continue;
                }
                string   url         = string.Format(urlFormat, 1, category.Code, "", category.Name, category.IsGP);
                string   htmlText    = wc.DownloadString(url);
                int      peroidCount = ConvertHelper.GetInt32(Regex.Match(htmlText, "共\\:(\\d+)条", RegexOptions.Singleline | RegexOptions.IgnoreCase).Groups[1].Value);
                int      pageCount   = ConvertHelper.GetInt32(Regex.Match(htmlText, "分页\\:1/(\\d+)页", RegexOptions.Singleline | RegexOptions.IgnoreCase).Groups[1].Value);
                Category entity      = new Category()
                {
                    Id = category.Id, PeroidCount = peroidCount, DownPageCount = pageCount
                };
                CategoryBiz.Instance.Modify(entity, entity.Id, Category.C_DownPageCount, Category.C_PeroidCount);
                biz.DataAccessor.ConnectionString = config.Databases[category.DbName.Trim().ToLower()].ConnectionString;
                int maxSeq      = biz.DataAccessor.SelectMaxWithCondition("Seq", 10, string.Empty);
                int downPeroids = biz.Count;

                string propmt = string.Format("{0}:{1}",
                                              category.Name, string.Format("{0}期,下载,{1}期,Max Seq,{2}", peroidCount, downPeroids, maxSeq));
                output(propmt);

                if (category.Type.Equals("11X5"))
                {
                    this.CheckC5CX(output, category, biz.DataAccessor.ConnectionString);
                }
            }
        }
Exemple #26
0
        public static void Insert(int categoryId, string speroid, string code, string sdate)
        {
            string no = code.Replace(" ", ",");
            DateTime datetime = DateTime.Parse(sdate);
            int dateint = int.Parse(datetime.ToString("yyyyMMdd"));
            int p = 2000000000 + int.Parse(speroid);
            int n = int.Parse(speroid.Substring(speroid.Length - 2));

            Category category = CategoryBiz.Instance.GetById(categoryId);
            DwNumberBiz biz = new DwNumberBiz(category.DbName);

            //select MAX(seq) seq from DwNumber where P < p;
            int seq = biz.DataAccessor.SelectMaxWithCondition(DwNumber.C_Seq, 10, "where P <" + p);
            DwNumber number = biz.Create(p, n, no, dateint, sdate);
            number.Seq = seq + 1;

            //UPDATE DwNumber set Seq=seq+ 1 where P > p;
            biz.Add(number);
            biz.DataAccessor.UpdateSeq(1, p);
        }
Exemple #27
0
        public static void UpdateC45()
        {
            List <Category> categories = CategoryBiz.Instance.GetEnabledCategories("SSC");

            foreach (Category category in categories)
            {
                DwNumberBiz     biz     = new DwNumberBiz(category.DbName);
                List <DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty,
                                                                               "Seq", Data.SortTypeEnum.ASC, null, "P", "P4", "P5");

                foreach (var number in numbers)
                {
                    string c4  = NumberCache.Instance.GetNumberId("C4", number.P4);
                    string c5  = NumberCache.Instance.GetNumberId("C5", number.P5);
                    string sql = string.Format("update {0} set {1} = '{2}',{3} = '{4}' where P = {5}",
                                               DwNumber.ENTITYNAME, "C4", c4, "C5", c5, number.P);
                    Data.SqlHelper.ExecuteNonQuery(biz.DataAccessor.ConnectionString, System.Data.CommandType.Text, sql);
                }
            }
        }
Exemple #28
0
        private static void ImportD11X5(string line, string name)
        {
            DwNumberBiz biz = null;

            if (name.Equals("江西多乐彩"))
            {
                biz = new DwNumberBiz("jiangx11x5");
            }
            if (name.Equals("广东11选5"))
            {
                biz = new DwNumberBiz("guangd11x5");
            }
            if (name.Equals("山东十一运夺金"))
            {
                biz = new DwNumberBiz("shand11x5");
            }

            //biz.Add(dto);
            //writer.WriteLine(dto.ToString());
        }
Exemple #29
0
        public static void Insert(int categoryId, string speroid, string code, string sdate)
        {
            string   no       = code.Replace(" ", ",");
            DateTime datetime = DateTime.Parse(sdate);
            int      dateint  = int.Parse(datetime.ToString("yyyyMMdd"));
            int      p        = 2000000000 + int.Parse(speroid);
            int      n        = int.Parse(speroid.Substring(speroid.Length - 2));

            Category    category = CategoryBiz.Instance.GetById(categoryId);
            DwNumberBiz biz      = new DwNumberBiz(category.DbName);

            //select MAX(seq) seq from DwNumber where P < p;
            int      seq    = biz.DataAccessor.SelectMaxWithCondition(DwNumber.C_Seq, 10, "where P <" + p);
            DwNumber number = biz.Create(p, n, no, dateint, sdate);

            number.Seq = seq + 1;

            //UPDATE DwNumber set Seq=seq+ 1 where P > p;
            biz.Add(number);
            biz.DataAccessor.UpdateSeq(1, p);
        }
Exemple #30
0
        private void Stat(object dbName)
        {
            DwNumberBiz biz = new DwNumberBiz(dbName.ToString());
            List<DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "F3");
            for (int i = 0; i < allNumbers.Count; i++) allNumbers[i].Seq = i;

            int numberCount = allNumbers.Count;
            Dictionary<string, int> nextDict = new Dictionary<string, int>(990*990);
            string[] f3Numbers = null; // biz.DataAccessor.SelectDistinctF3();
            foreach (string f3 in f3Numbers)
            {
                foreach (string f31 in f3Numbers)
                {
                    nextDict.Add(string.Format("{0},{1}", f3.Trim(), f31.Trim()), 0);
                }
            }

            foreach (string f3 in f3Numbers)
            {
                var numbers = allNumbers.Where(x => x.F3.Trim().Equals(f3.Trim()));
                foreach (var number in numbers)
                {
                    int nextIndex = number.Seq + 1;
                    if (nextIndex >= allNumbers.Count) continue;
                    string key = string.Format("{0},{1}", f3.Trim(), allNumbers[nextIndex].F3.Trim());
                    nextDict[key]++;
                }
            }

            string fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "F3_NextNumbers");
            string filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
            foreach (var kp in nextDict)
            {
                string line = string.Format("{0},{1}", kp.Key, kp.Value);
                writer.WriteLine(line);
            }
            writer.Close();
            Console.WriteLine("{0},F3NextNumbers,Finished", dbName);
        }
Exemple #31
0
        protected override void Stat(string dbName, OutputType outputType)
        {
            string[] dmNames = DimensionNumberTypeBiz.Instance.GetEnabledDimensions("SSC");
            DwNumberBiz biz = new DwNumberBiz(dbName);
            List<DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);

            foreach (string dmName in dmNames)
            {
                string[] numberTypes = DimensionNumberTypeBiz.Instance.GetNumberTypes("SSC", dmName);
                if (outputType == OutputType.Database)
                    this.Stat(numbers, dbName, dmName, numberTypes, null);
                else
                {
                    string fileName = string.Format("{0}_{1}.txt", dbName, dmName);
                    StreamWriter writer = new StreamWriter(this.GetOutputFileName(fileName), false, Encoding.UTF8);
                    this.Stat(numbers, dbName, dmName, numberTypes, writer);
                    writer.Close();
                }
            }

            Console.WriteLine("{0} {1} Finished", dbName, "ALL Span");
        }
Exemple #32
0
        protected override void Stat(string dbName, OutputType outputType)
        {
            string[] dmNames = DimensionNumberTypeBiz.Instance.GetDimensions("3D");
            DwNumberBiz biz = new DwNumberBiz(dbName);
            List<DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);

            foreach (string dmName in dmNames)
            {
                string[] numberTypes = DimensionNumberTypeBiz.Instance.GetNumberTypes("3D", dmName);
                if (outputType == OutputType.Database)
                    this.Stat(numbers, dbName, dmName, numberTypes, null);
                else
                {
                    string fileName = string.Format("{0}_{1}.txt", dbName, dmName);
                    StreamWriter writer = new StreamWriter(this.GetOutputFileName(fileName), false, Encoding.UTF8);
                    this.Stat(numbers, dbName, dmName, numberTypes, writer);
                    writer.Close();
                }
            }

            Console.WriteLine("{0} {1} Finished", dbName, "ALL Span");
        }
Exemple #33
0
        private void Stat(object dbName)
        {
            DwNumberBiz biz = new DwNumberBiz(dbName.ToString());
            List<DwNumber> allNumbers = biz.DataAccessor.SelectWithCondition(string.Empty, "P", SortTypeEnum.ASC, null, "D1");
            for (int i = 0; i < allNumbers.Count; i++) allNumbers[i].Seq = i;

            int numberCount = allNumbers.Count;
            Dictionary<string, int> nextNumberDict = new Dictionary<string, int>(11*11);
            for (int i = 1; i <= 11; i++)
            {
                var numbers = allNumbers.Where(x => x.D1.Equals(i));
                foreach (var number in numbers)
                {
                    int nextIndex = number.Seq + 1;
                    if (nextIndex >= numberCount) continue;
                    string key = string.Format("{0},{1}", i, allNumbers[nextIndex].D1);
                    if (nextNumberDict.ContainsKey(key))
                    {
                        nextNumberDict[key]++;
                    }
                    else
                    {
                        nextNumberDict.Add(key, 1);
                    }
                }
            }

            string fileName = string.Format("Dw{0}_{1}.txt", dbName.ToString(), "D1_NextNumbers");
            string filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
            foreach (var kp in nextNumberDict)
            {
                string line = string.Format("{0},{1}", kp.Key, kp.Value);
                writer.WriteLine(line);
            }
            writer.Close();
            Console.WriteLine("{0},D1NextNumbers,Finished", dbName);
        }
Exemple #34
0
 public void C1StatMain(string dbName)
 {
     DwNumberBiz biz = new DwNumberBiz(dbName);
     List<DwNumber> numbers = biz.DataAccessor.SelectWithCondition(string.Empty, "Seq", SortTypeEnum.ASC, null);
     Span(numbers);
 }