Example #1
0
        private void Stat(object dbName)
        {
            string              name       = dbName.ToString();
            DwPeroidSpanBiz     biz        = new DwPeroidSpanBiz(name, "C2");
            List <DwPeroidSpan> allNumbers = biz.GetAll("NumberId", "P", "Spans");

            string[] numberIds = NumberBiz.Instance.C2.Keys.ToArray();

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

            foreach (string numberId in numberIds)
            {
                var numbers = allNumbers
                              .Where(x => x.NumberId.Trim().Equals(numberId) && x.Spans > -1)
                              .OrderBy(x => x.P)
                              .ToList();
                if (numbers.Count == 0)
                {
                    continue;
                }
                int tAvg = Convert.ToInt32(numbers.Average(x => x.Spans));

                for (int i = 0; i < numbers.Count; i++)
                {
                    for (int n = 3; n < numbers.Count; n++)
                    {
                        if (i + n >= numbers.Count)
                        {
                            break;
                        }
                        var avg    = Convert.ToInt32(numbers.GetRange(i, n).Average(x => x.Spans));
                        int absAvg = Convert.ToInt32(Math.Abs(tAvg - avg));
                        if (absAvg > 1)
                        {
                            continue;
                        }
                        string line = string.Format("{0},{1}", numbers[i].NumberId, n);
                        writer.WriteLine(line);
                        break;
                    }
                }
            }

            writer.Close();
            Console.WriteLine("{0},C2PeroidSpanLimit,Finished", dbName);
        }
Example #2
0
        private void Stat(object dbName)
        {
            string name = dbName.ToString();
            DwPeroidSpanBiz biz = new DwPeroidSpanBiz(name, "A5");
            List<DwPeroidSpan> allNumbers = biz.GetAll("NumberId", "P", "Spans");
            string[] numberIds = NumberBiz.Instance.A5.Keys.ToArray();

            string fileName = string.Format("Dw{0}_{1}.txt", name, "A5_PeroidSpanLimit");
            string filePath = string.Format("{0}\\{1}", this._rootPath, fileName);
            StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
            foreach (string numberId in numberIds)
            {
                var numbers = allNumbers
                    .Where(x => x.NumberId.Trim().Equals(numberId) && x.Spans > -1)
                    .OrderBy(x => x.P)
                    .ToList();
                if (numbers.Count == 0) continue;
                int tAvg = Convert.ToInt32(numbers.Average(x => x.Spans));

                for (int i = 0; i < numbers.Count; i++)
                {
                    for (int n = 3; n < numbers.Count; n++)
                    {
                        if (i + n >= numbers.Count) break;
                        var avg = Convert.ToInt32(numbers.GetRange(i, n).Average(x => x.Spans));
                        int absAvg = Convert.ToInt32(Math.Abs(tAvg - avg));
                        if (absAvg > 1) continue;
                        string line = string.Format("{0},{1}", numbers[i].NumberId, n);
                        writer.WriteLine(line);
                        break;
                    }
                }
            }

            writer.Close();
            Console.WriteLine("{0},A5PeroidSpanLimit,Finished", dbName);
        }