Ejemplo n.º 1
0
        private DwC5CXSpan GetC5CXSpan(Dictionary<string, Dictionary<string, int>> lastSpanDict, DwNumber number, string[] dmNames, DmC5CX cxNumber)
        {
            DwC5CXSpan c5cxSpan = new DwC5CXSpan();
            c5cxSpan.P = number.P;
            c5cxSpan.Seq = number.Seq;
            c5cxSpan.C5 = number.C5;
            c5cxSpan.CX = cxNumber.CX;

            foreach (string dmName in dmNames)
            {
                if (!lastSpanDict.ContainsKey(dmName))
                    lastSpanDict.Add(dmName, new Dictionary<string, int>(1000));

                string propertyName = dmName + "Spans";
                int spans = number.Seq - 1;
                string dmValue = cxNumber.CX.GetDmValue(2, dmName, 5);

                if (lastSpanDict[dmName].ContainsKey(dmValue))
                {
                    spans = number.Seq - lastSpanDict[dmName][dmValue] - 1;
                    lastSpanDict[dmName][dmValue] = number.Seq;
                }
                else
                {
                    lastSpanDict[dmName].Add(dmValue, number.Seq);
                }
                c5cxSpan[propertyName] = spans;
            }

            return c5cxSpan;
        }
Ejemplo n.º 2
0
        public static void C5CX(string name, string type, int length, string output)
        {
            List<DmDPC> srcNumbers = null;
            if (length > 5)
            {
                srcNumbers = NumberCache.Instance.GetNumberList(type);
            }
            else
            {
                srcNumbers = NumberCache.Instance.GetNumberList("C5");
            }

            DmC5CXBiz biz = new DmC5CXBiz(name);
            List<DmC5CX> entities = new List<DmC5CX>(srcNumbers.Count * 56);
            foreach (var srcNumber in srcNumbers)
            {
                string number = srcNumber.Number.Replace(' ', ',');
                var cxNumbers = new Combinations<int>(number.ToList(), length > 5 ? 5 : length);
                foreach (var cxNumber in cxNumbers)
                {
                    string cx = NumberCache.Instance.GetNumberId(length > 5 ? "C5" : type, cxNumber.Format("D2", ","));
                    DmC5CX entity = new DmC5CX();
                    entity.C5 = (length > 5) ? cx : srcNumber.Id;
                    entity.CX = (length > 5) ? srcNumber.Id : cx;
                    entity.C5Number = (length > 5) ? cx.ToString(2, " ") : srcNumber.Number;
                    entity.CXNumber = (length > 5) ? srcNumber.Number : cx.ToString(2, " ");
                    entity.NumberType = type;
                    entities.Add(entity);
                }
            }

            //biz.DataAccessor.Truncate();
            biz.DataAccessor.Insert(entities, SqlInsertMethod.SqlBulkCopy);
        }
Ejemplo n.º 3
0
        public static void C5CX(string name, string type, int length, string output)
        {
            List <DmDPC> srcNumbers = null;

            if (length > 5)
            {
                srcNumbers = NumberCache.Instance.GetNumberList(type);
            }
            else
            {
                srcNumbers = NumberCache.Instance.GetNumberList("C5");
            }

            DmC5CXBiz     biz      = new DmC5CXBiz(name);
            List <DmC5CX> entities = new List <DmC5CX>(srcNumbers.Count * 56);

            foreach (var srcNumber in srcNumbers)
            {
                string number    = srcNumber.Number.Replace(' ', ',');
                var    cxNumbers = new Combinations <int>(number.ToList(), length > 5 ? 5 : length);
                foreach (var cxNumber in cxNumbers)
                {
                    string cx     = NumberCache.Instance.GetNumberId(length > 5 ? "C5" : type, cxNumber.Format("D2", ","));
                    DmC5CX entity = new DmC5CX();
                    entity.C5         = (length > 5) ? cx : srcNumber.Id;
                    entity.CX         = (length > 5) ? srcNumber.Id : cx;
                    entity.C5Number   = (length > 5) ? cx.ToString(2, " ") : srcNumber.Number;
                    entity.CXNumber   = (length > 5) ? srcNumber.Number : cx.ToString(2, " ");
                    entity.NumberType = type;
                    entities.Add(entity);
                }
            }
            biz.DataAccessor.Insert(entities, SqlInsertMethod.SqlBulkCopy);
        }
Ejemplo n.º 4
0
        private DwC5CXSpan GetC5CXSpan(Dictionary <string, Dictionary <string, int> > lastSpanDict,
                                       DwNumber number, string[] dmNames, DmC5CX cxNumber)
        {
            DwC5CXSpan c5cxSpan = new DwC5CXSpan();

            c5cxSpan.P   = number.P;
            c5cxSpan.Seq = number.Seq;
            c5cxSpan.C5  = number.C5;
            c5cxSpan.CX  = cxNumber.CX;

            foreach (string dmName in dmNames)
            {
                if (!lastSpanDict.ContainsKey(dmName))
                {
                    lastSpanDict.Add(dmName, new Dictionary <string, int>(1000));
                }

                string propertyName = dmName + "Spans";
                int    spans        = number.Seq - 1;
                string dmValue      = cxNumber.CX.GetDmValue(2, dmName, 5);

                if (lastSpanDict[dmName].ContainsKey(dmValue))
                {
                    spans = number.Seq - lastSpanDict[dmName][dmValue] - 1;
                    lastSpanDict[dmName][dmValue] = number.Seq;
                }
                else
                {
                    lastSpanDict[dmName].Add(dmValue, number.Seq);
                }
                c5cxSpan[propertyName] = spans;
            }

            return(c5cxSpan);
        }