Пример #1
0
        internal override bool IsNativeDataPresent(MeasureShowMode mode)
        {
            switch (mode.Mode)
            {
            case MeasureShowModeType.smKPIGoal:
                return(true);

            case MeasureShowModeType.smKPIStatus:
                return(true);

            case MeasureShowModeType.smKPITrend:
                return(true);

            case MeasureShowModeType.smKPIValue:
                return(true);

            case MeasureShowModeType.smKPIWeight:
                return(true);

            case MeasureShowModeType.smNormal:
                return(true);
            }
            if (mode.LinkedIntelligence != null)
            {
                return(true);
            }
            return(false);
        }
Пример #2
0
        internal Line(MetaLine AMetaLine, string ID, string MeasureID, MeasureShowMode Mode, int FHierID)
        {
            fM         = AMetaLine;
            fID        = ID;
            fMeasureID = MeasureID;
            fMode      = Mode;
            fHierId    = FHierID;
            fDepthes   = new List <int>(AMetaLine.fHierArray.Count);
            for (var i = 0; i < AMetaLine.fHierArray.Count; i++)
            {
                fDepthes.Add(0);
            }
            var a = FHierID;

            for (var i = AMetaLine.fLevels.Count - 1; i > 0; i--)
            {
                fDepthes[i] = a / AMetaLine.fHierArray[i];
                a           = a % AMetaLine.fHierArray[i];
            }
            if (AMetaLine.fLevels.Count > 0)
            {
                fDepthes[0] = a;
            }
            //fM.FGrid.FEngine.RetrieveLine(this, Address);
        }
Пример #3
0
        internal MdLine(MetaLine AMetaLine, string ID, string MeasureID, MeasureShowMode Mode, int HierID)
            : base(AMetaLine, ID, MeasureID, Mode, HierID)
        {
            DebugLogging.WriteLine("MdLine.ctor(ID={0} of MetaLine.ID={1})", ID, AMetaLine.ID);

            fData    = new LineData[0];
            fIndexes = new long[0];
        }
Пример #4
0
 protected string GetKey(int HierID, Measure AMeasure, MeasureShowMode Mode)
 {
     if (HierID < _MAXString)
     {
         return(_ints[HierID] + AMeasure.FUniqueName + Mode.DotUniqueName);
     }
     return(HierID + _point + AMeasure.FUniqueName + Mode.DotUniqueName);
 }
Пример #5
0
 internal virtual Line GetLine(int HierID, Measure AMeasure, MeasureShowMode Mode)
 {
     if (cache_HierID == HierID && cache_sm == Mode && cache_line != null)
     {
         return(cache_line);
     }
     cache_HierID = HierID;
     cache_sm     = Mode;
     return(null);
 }
Пример #6
0
 internal void Clear()
 {
     cache_HierID = -1;
     cache_sm     = null;
     cache_line   = null;
     foreach (var l in fLines.Values)
     {
         l.Unregister();
     }
     fLines.Clear();
 }
Пример #7
0
        void IStreamedObject.ReadStream(BinaryReader reader, object options)
        {
            fM = (MetaLine)options;
            StreamUtils.CheckTag(reader, Tags.tgLine);
            for (var exit = false; !exit;)
            {
                int c;
                var tag = StreamUtils.ReadTag(reader);
                switch (tag)
                {
                case Tags.tgLine_CacheKey:
                    fCacheKey = StreamUtils.ReadString(reader);
                    break;

                case Tags.tgLine_Depthes:
                    c        = StreamUtils.ReadInt32(reader);
                    fDepthes = new List <int>(c);
                    for (var i = 0; i < c; i++)
                    {
                        fDepthes.Add(StreamUtils.ReadInt32(reader));
                    }
                    break;

                case Tags.tgLine_ID:
                    fID = StreamUtils.ReadString(reader);
                    break;

                case Tags.tgLine_HierID:
                    fHierId = StreamUtils.ReadInt32(reader);
                    break;

                case Tags.tgLine_Measure:
                    fMeasureID = StreamUtils.ReadString(reader);
                    break;

                case Tags.tgLine_Mode:
                    fMode = Measure.ShowModes.ShowModeById(StreamUtils.ReadGuid(reader));
                    break;

                case Tags.tgLine_CurrentMap:
                    StreamUtils.ReadStreamedObject(reader, CurrentMap, fM.FGrid);
                    break;

                case Tags.tgLine_EOT:
                    exit = true;
                    break;

                default:
                    DoReadStream(reader, tag);
                    break;
                }
            }
        }
Пример #8
0
 internal void ClearMeasureData(MeasureShowMode mode)
 {
     foreach (var m in FMetaLines.Values)
     {
         for (var i = m.fLines.Count - 1; i >= 0; i--)
         {
             if (m.fLines.Values[i].fMode == mode)
             {
                 m.fLines.Values[i].Unregister();
                 m.fLines.RemoveAt(i);
                 m.cache_line = null;
             }
         }
     }
 }
Пример #9
0
        //internal List<CubeDataNumeric> RetrieveCubeData(List<Member> restriction, List<Level> levels,
        //    List<int> depthes, MeasureShowMode mode, out List<Level> level_clue)
        //{
        //    Line l = GetLineForChart(restriction, levels, depthes, mode, false);


        //    level_clue = l.fM.fLevels;
        //    List<CubeDataNumeric> data = l.RetrieveCubeData(restriction);
        //    ProcessCalculatedMembers(l, data);
        //    return data;
        //}

        private Line GetLineForChart(List <Member> restriction, List <Level> levels, IList <int> depthes,
                                     MeasureShowMode mode, bool isRequest)
        {
            IList <int> il;
            var         ls = CreateLevelString(restriction, levels, out il);

            var ml = GetMetaline(il);
            var l  = ml.GetLine(ml.GetHierIDFromRestriction(restriction, levels, depthes), mode.Measure, mode);

            if (isRequest)
            {
                l.AddRequest(restriction);
            }
            return(l);
        }
        public ShowMeasureArgs(object originalData, MeasureShowMode mode, IDataCell cell)
        {
            OriginalData = originalData;
            ReturnData   = null;
            fValue       = "";
            fShowMode    = mode;

            if (cell != null)
            {
                var member = cell.RowMember;
                if (member != null)
                {
                    member = member.HierarchyMemberCell;
                }
                if (member != null)
                {
                    for (var i = 0; i < member.SiblingsCount; i++)
                    {
                        var m = member.Siblings(i).Member;
                        if (m != null)
                        {
                            fRowSiblings.Add(m);
                        }
                    }
                }

                member = cell.ColumnMember;
                if (member != null)
                {
                    member = member.HierarchyMemberCell;
                }
                if (member != null)
                {
                    for (var i = 0; i < member.SiblingsCount; i++)
                    {
                        var m = member.Siblings(i).Member;
                        if (m != null)
                        {
                            fColumnSiblings.Add(m);
                        }
                    }
                }
            }
        }
        internal override Line GetLine(int HierID, Measure AMeasure, MeasureShowMode Mode)
        {
            var l = base.GetLine(HierID, AMeasure, Mode);

            if (l != null)
            {
                return(l);
            }

            var key = GetKey(HierID, AMeasure, Mode);

            if (fLines.TryGetValue(key, out l))
            {
                cache_line = l;
                return(l);
            }
            l = new MdLine(this, key, AMeasure.UniqueName, Mode, HierID);
            fLines.Add(key, l);
            cache_line = l;
            return(l);
        }
Пример #12
0
 internal virtual bool IsNativeDataPresent(MeasureShowMode mode)
 {
     return(mode.Mode == MeasureShowModeType.smNormal);
 }
Пример #13
0
 internal ClientMeasureMode(MeasureShowMode m, bool isDefault)
 {
     DisplayName = m.Caption;
     UniqueName  = m.fUniqueName.ToString();
     IsDefault   = isDefault;
 }