コード例 #1
0
ファイル: DwNumberBiz.cs プロジェクト: tavenli/gaopincai
        private void AddSpan(DwNumber number)
        {
            string[] dmNames = DimensionNumberTypeBiz.Instance.GetEnabledDimensions("12X3");
            List <BatchEntity <DwSpan> > batchEntities = new List <BatchEntity <DwSpan> >(dmNames.Length);

            foreach (string dmName in dmNames)
            {
                string[] numberTypes = DimensionNumberTypeBiz.Instance.GetNumberTypes("12X3", dmName);
                Dictionary <string, int> spanDict = this.DataAccessor.SelectSpansByNumberTypes(number, dmName, numberTypes);
                DwSpan dwSpan = new DwSpan()
                {
                    P = number.P
                };
                foreach (string key in spanDict.Keys)
                {
                    string propertyName = string.Format("{0}Spans", key);
                    dwSpan[propertyName] = spanDict[key];
                }

                string               destTableName = ConfigHelper.GetDwSpanTableName(dmName);
                string[]             columnNames   = numberTypes.Select(x => x + "Spans").Union(new string[] { "P" }).ToArray();
                BatchEntity <DwSpan> batchEntity   = new BatchEntity <DwSpan>(dwSpan, destTableName, columnNames);
                batchEntities.Add(batchEntity);
            }

            DwSpanDAO spanDao = new DwSpanDAO(string.Empty, this.DataAccessor.ConnectionString);

            spanDao.Insert(batchEntities);
        }
コード例 #2
0
ファイル: SpanStat.cs プロジェクト: tomdeng/gaopincai
 private DwSpan CreateSpan(DwNumber number, Dictionary<string, int> pSpanDict)
 {
     DwSpan span = new DwSpan() { P = number.P };
     foreach (string key in pSpanDict.Keys)
     {
         string propertyName = string.Format("{0}Spans", key);
         span[propertyName] = pSpanDict[key];
     }
     return span;
 }
コード例 #3
0
 private DwSpan CreateSpan(DwNumber number, Dictionary<string, int> pSpanDict)
 {
     DwSpan span = new DwSpan() { P = number.P };
     foreach (string key in pSpanDict.Keys)
     {
         string propertyName = string.Format("{0}Spans", key);
         span[propertyName] = pSpanDict[key];
     }
     return span;
 }
コード例 #4
0
        private void Stat(List<DwNumber> numbers, string dbName, string dmName, string[] numberTypes, StreamWriter writer)
        {
            Dictionary<string, Dictionary<string, int>> numberTypeLastSpanDict = new Dictionary<string, Dictionary<string, int>>(100000);
            List<DwSpan> entities = new List<DwSpan>(numbers.Count);

            foreach (DwNumber number in numbers)
            {
                Dictionary<string, int> pSpanDict = GetSpanDict(numberTypeLastSpanDict, dmName, numberTypes, number);
                DwSpan span = this.CreateSpan(number, pSpanDict);
                if (writer != null)
                    this.SaveSpanToText(span, writer);
                else
                    entities.Add(span);
            }

            string[] colmnNames = numberTypes.Select(x => x + "Spans").Union(new string[] { "P" }).ToArray();
            this.SaveSpanToDB(dbName, dmName, entities, colmnNames);

            Console.WriteLine("{0} {1} Finished", dbName, dmName);
        }
コード例 #5
0
ファイル: DmSpan.cs プロジェクト: peterchen/gaopincai
 private void SaveSpanToText(DwSpan span, StreamWriter writer)
 {
     writer.WriteLine(span.ToString());
 }
コード例 #6
0
ファイル: DmSpan.cs プロジェクト: peterchen/gaopincai
 private void SaveSpanToDB(string dbName, string tableName, DwSpan span)
 {
     DwSpanDAO spanDao = new DwSpanDAO(ConfigHelper.GetDwSpanTableName(tableName), ConfigHelper.GetConnString(dbName));
     spanDao.Insert(span);
 }
コード例 #7
0
 private void SaveSpanToText(DwSpan span, StreamWriter writer)
 {
     writer.WriteLine(span.ToString());
 }
コード例 #8
0
        private void SaveSpanToDB(string dbName, string tableName, DwSpan span)
        {
            DwSpanDAO spanDao = new DwSpanDAO(ConfigHelper.GetDwSpanTableName(tableName), ConfigHelper.GetConnString(dbName));

            spanDao.Insert(span);
        }