Example #1
0
        private int MemberLabel2Id(HfmDimensionType argDimensionType, DataRow argDataRow)
        {
            string fieldName   = HfmDimensionTypeHelper.GetDimensionFieldName(argDimensionType);
            string memberLabel = argDataRow[fieldName].ToString();

            return(MemberLabel2Id(argDimensionType, memberLabel));
        }
Example #2
0
        public List <DimensionTreeModel> CreateTreeModel(HfmDimensionType argDimensionType)
        {
            List <DimensionTreeModel> treeModelList = new List <DimensionTreeModel>();
            var          dimensionList = EnumMembers2(argDimensionType);
            HsvMetadata  hsvMetadata   = _HsvSession.Metadata as HsvMetadata;
            IHsvTreeInfo treeInfo      = (IHsvTreeInfo)hsvMetadata.Dimension[(short)argDimensionType];
            int          order         = 0;

            foreach (var member in dimensionList)
            {
                object parentIds;
                treeInfo.EnumParents(member.MemberID, out parentIds);
                foreach (int parentId in (int[])parentIds)
                {
                    DimensionTreeModel treeModel = new DimensionTreeModel();
                    treeModel.Type = HfmDimensionTypeHelper.GetDimensionTypeName(argDimensionType);
                    if (parentId == -1)
                    {
                        treeModel.ParentCode = "ROOT";
                    }
                    else
                    {
                        string parentLabel;
                        treeInfo.GetLabel(parentId, out parentLabel);
                        treeModel.ParentCode = parentLabel;
                    }
                    treeModel.Code     = member.MemberLabel;
                    treeModel.CodeName = member.Description;
                    treeModel.Order    = ++order;
                    treeModelList.Add(treeModel);
                }
            }
            return(treeModelList);
        }
        public static string GetDimensionFieldName(HfmDimensionType argDimensionType)
        {
            string fieldName = string.Empty;

            switch (argDimensionType)
            {
            case HfmDimensionType.Scenario:
                fieldName = "HFM_SCENARIO";
                break;

            case HfmDimensionType.Year:
                fieldName = "HFM_YEAR";
                break;

            case HfmDimensionType.Period:
                fieldName = "HFM_PERIOD";
                break;

            case HfmDimensionType.View:
                fieldName = "HFM_VIEW";
                break;

            case HfmDimensionType.Entity:
                fieldName = "HFM_ENTITY";
                break;

            case HfmDimensionType.Value:
                fieldName = "HFM_VALUE";
                break;

            case HfmDimensionType.Account:
                fieldName = "HFM_ACCOUNT";
                break;

            case HfmDimensionType.Icp:
                fieldName = "HFM_ICP";
                break;

            case HfmDimensionType.Custom1:
                fieldName = "HFM_CUSTOM1";
                break;

            case HfmDimensionType.Custom2:
                fieldName = "HFM_CUSTOM2";
                break;

            case HfmDimensionType.Custom3:
                fieldName = "HFM_CUSTOM3";
                break;

            case HfmDimensionType.Custom4:
                fieldName = "HFM_CUSTOM4";
                break;

            case HfmDimensionType.Parent:
                fieldName = "HFM_PARENT";
                break;
            }
            return(fieldName);
        }
        public static HFMwDimension GetHFMwDimension(HFMwSession argHFMwSession, HfmDimensionType argDimensionType)
        {
            HFMwDimension hfmwDimension = null;

            switch (argDimensionType)
            {
            case HfmDimensionType.Scenario:
                hfmwDimension = argHFMwSession.metadata.scenarios;
                break;

            case HfmDimensionType.Year:
                hfmwDimension = argHFMwSession.metadata.years;
                break;

            case HfmDimensionType.Period:

                hfmwDimension = argHFMwSession.metadata.periods;
                break;

            case HfmDimensionType.View:
                hfmwDimension = argHFMwSession.metadata.views;
                break;

            case HfmDimensionType.Entity:
                hfmwDimension = argHFMwSession.metadata.entities;
                break;

            case HfmDimensionType.Value:
                hfmwDimension = argHFMwSession.metadata.values;
                break;

            case HfmDimensionType.Account:
                hfmwDimension = argHFMwSession.metadata.accounts;
                break;

            case HfmDimensionType.Icp:
                hfmwDimension = argHFMwSession.metadata.ICPs;
                break;

            case HfmDimensionType.Custom1:
                hfmwDimension = argHFMwSession.metadata.custom1;
                break;

            case HfmDimensionType.Custom2:
                hfmwDimension = argHFMwSession.metadata.custom2;
                break;

            case HfmDimensionType.Custom3:
                hfmwDimension = argHFMwSession.metadata.custom3;
                break;

            case HfmDimensionType.Custom4:
                hfmwDimension = argHFMwSession.metadata.custom4;
                break;
            }
            return(hfmwDimension);
        }
Example #5
0
        public List <DimensionMember> EnumCustomMembers(HfmDimensionType argDimensionType)
        {
            if (argDimensionType != HfmDimensionType.Custom1 && argDimensionType != HfmDimensionType.Custom2 &&
                argDimensionType != HfmDimensionType.Custom3 && argDimensionType != HfmDimensionType.Custom4)
            {
                return(null);
            }

            List <DimensionMember> memberList = EnumMembers2(argDimensionType);
            var        hsvMetadata            = _HsvSession.Metadata as IHsvMetadata;
            IHsvCustom hsvCustom = null;

            switch (argDimensionType)
            {
            case HfmDimensionType.Custom1:
                hsvCustom = hsvMetadata.Custom1 as IHsvCustom;
                break;

            case HfmDimensionType.Custom2:
                hsvCustom = hsvMetadata.Custom2 as IHsvCustom;
                break;

            case HfmDimensionType.Custom3:
                hsvCustom = hsvMetadata.Custom3 as IHsvCustom;
                break;

            case HfmDimensionType.Custom4:
                hsvCustom = hsvMetadata.Custom4 as IHsvCustom;
                break;
            }

            bool   boolOutValue;
            int    intOutValue;
            short  shortOutValue;
            string strOutValue;

            foreach (var member in memberList)
            {
                hsvCustom.IsSwitchSignEnabledForFlow(member.MemberID, out boolOutValue);
                member.SwitchSignForFlow = boolOutValue;
                hsvCustom.IsSwitchTypeEnabledForFlow(member.MemberID, out boolOutValue);
                member.SwitchTypeForFlow = boolOutValue;
                hsvCustom.GetUserDefined1(member.MemberID, out strOutValue);
                member.UserDefined1 = strOutValue;
                hsvCustom.GetUserDefined2(member.MemberID, out strOutValue);
                member.UserDefined2 = strOutValue;
                hsvCustom.GetUserDefined3(member.MemberID, out strOutValue);
                member.UserDefined3 = strOutValue;
                hsvCustom.GetSecurityClassID(member.MemberID, out intOutValue);
                member.SecurityClass = intOutValue;
            }

            return(memberList);
        }
Example #6
0
 public int GetMemberID(HfmDimensionType argDimensionType, String argLabel)
 {
     try
     {
         if (!HfmDimension.memberIdDictionary[argDimensionType].ContainsKey(argLabel))
         {
             HsvMetadata  hsvMetadata = _HsvSession.Metadata as HsvMetadata;
             IHsvTreeInfo treeInfo    = (IHsvTreeInfo)hsvMetadata.Dimension[(short)argDimensionType];
             HfmDimension.memberIdDictionary[argDimensionType].Add(argLabel, treeInfo.GetItemID(argLabel));
         }
         return(HfmDimension.memberIdDictionary[argDimensionType][argLabel]);
     }
     catch (Exception ex)
     {
         throw new Exception(HfmCommon.GetHfmErrorMessage(ex.Message));
     }
 }
Example #7
0
 public String GetMemberLabel(HfmDimensionType argDimensionType, int argId)
 {
     try
     {
         if (!HfmDimension.memberLabelDictionary[argDimensionType].ContainsKey(argId))
         {
             HsvMetadata  hsvMetadata = _HsvSession.Metadata as HsvMetadata;
             IHsvTreeInfo treeInfo    = (IHsvTreeInfo)hsvMetadata.Dimension[(short)argDimensionType];
             String       sLabel      = String.Empty;
             treeInfo.GetLabel(argId, out sLabel);
             HfmDimension.memberLabelDictionary[argDimensionType].Add(argId, sLabel);
         }
         return(HfmDimension.memberLabelDictionary[argDimensionType][argId]);
     }
     catch (Exception ex)
     {
         throw new Exception(HfmCommon.GetHfmErrorMessage(ex.Message));
     }
 }
Example #8
0
 public int[] GetMembersThatHaveData(Dictionary <HfmDimensionType, int> argMemberIDDictionary,
                                     HfmDimensionType argDimensionType, string argValue)
 {
     int[] retVal = new int[0];
     try
     {
         object data = null;
         if (string.IsNullOrEmpty(argValue))
         {
             _HsvSession.Data.GetMembersThatHaveData(argMemberIDDictionary[HfmDimensionType.Scenario]
                                                     , argMemberIDDictionary[HfmDimensionType.Year]
                                                     , argMemberIDDictionary[HfmDimensionType.Period]
                                                     , argMemberIDDictionary[HfmDimensionType.Entity]
                                                     , argMemberIDDictionary[HfmDimensionType.Parent]
                                                     , argMemberIDDictionary[HfmDimensionType.Value]
                                                     , argMemberIDDictionary[HfmDimensionType.Account]
                                                     , argMemberIDDictionary[HfmDimensionType.Icp]
                                                     , argMemberIDDictionary[HfmDimensionType.Custom1]
                                                     , argMemberIDDictionary[HfmDimensionType.Custom2]
                                                     , argMemberIDDictionary[HfmDimensionType.Custom3]
                                                     , argMemberIDDictionary[HfmDimensionType.Custom4]
                                                     , argDimensionType, true, null, out data);
             if (data != null)
             {
                 retVal = (int[])data;
             }
         }
         else
         {
             retVal = new int[] { MemberLabel2Id(argDimensionType, argValue) };
         }
     }
     catch (Exception ex)
     {
         throw new Exception(HfmCommon.GetHfmErrorMessage(ex.Message));
     }
     return(retVal);
 }
Example #9
0
        public DataTable ExpandData(DataRow argDataRow, DataTable argTempTable)
        {
            DataTable retDataTable = argTempTable.Clone();
            List <HfmDimensionType> emptyMemberList = GetEmptyMembers(argDataRow);

            if (emptyMemberList.Count == 0)
            {
                retDataTable.ImportRow(argDataRow);
                return(retDataTable);
            }

            Dictionary <HfmDimensionType, int> memberIdDictionary = GetMemberIds(argDataRow);
            HfmDimensionType emptyMember          = emptyMemberList[0];
            string           emptyMemberFieldName = HfmDimensionTypeHelper.GetDimensionFieldName(emptyMember);

            int[] memberIds = GetMembersThatHaveData(memberIdDictionary, emptyMember, argDataRow[emptyMemberFieldName].ToString());
            foreach (int memberId in memberIds)
            {
                string label = HfmSession.GetDimension().GetMemberLabel(emptyMember, memberId);
                //if (label == "[ICP None]" || label == "[None]")
                //{
                //    continue;
                //}

                argTempTable.ImportRow(argDataRow);
                argTempTable.Rows[argTempTable.Rows.Count - 1][emptyMemberFieldName] = label;
            }
            if (emptyMemberList.Count == 1)
            {
                retDataTable.Merge(argTempTable);
            }
            else
            {
                DataTable expandTable = ExpandData(argTempTable);
                retDataTable.Merge(expandTable);
            }
            return(retDataTable);
        }
Example #10
0
        public List <DimensionMember> EnumMembers2(HfmDimensionType argDimensionType, string argMemberListName)
        {
            object count                 = null,
                   varMemberIDs          = null,
                   varParentIDs          = null,
                   valMemberLabels       = null,
                   varDescriptions       = null,
                   varNumChildren        = null,
                   varTotalMembersInEnum = null;

            HFMwDimension hfmwDimension = HfmDimensionTypeHelper.GetHFMwDimension(_HFMwSession, argDimensionType);

            count = hfmwDimension.EnumMembers2(tagPOVDEFAULTS.MEMBERNOTUSED, tagPOVDEFAULTS.MEMBERNOTUSED,
                                               tagPOVDEFAULTS.MEMBERNOTUSED,
                                               tagPOVDEFAULTS.MEMBERNOTUSED, argMemberListName, "", 0, 0,
                                               (int)tagWEBOM_METADATA_INFO_FLAGS.WEBOM_METADATA_INFO_ALL,
                                               ref varMemberIDs, ref varParentIDs, ref valMemberLabels, ref varDescriptions, ref varNumChildren,
                                               ref varTotalMembersInEnum);
            int total = (int)varTotalMembersInEnum;

            List <DimensionMember> retList = new List <DimensionMember>();

            for (int i = 0; i < total; i++)
            {
                DimensionMember dimensionMember = new DimensionMember();
                dimensionMember.MemberID = (int)((object[])varMemberIDs)[i];
                if (varParentIDs != null)
                {
                    dimensionMember.ParentID = (int)((object[])varParentIDs)[i];
                }
                dimensionMember.NumChildren = (int)((object[])varNumChildren)[i];
                dimensionMember.MemberLabel = ((object[])valMemberLabels)[i] as string;
                dimensionMember.Description = ((object[])varDescriptions)[i] as string;
                retList.Add(dimensionMember);
            }
            return(retList);
        }
Example #11
0
 private int MemberLabel2Id(HfmDimensionType argDimensionType, string argLabel)
 {
     return(this.HfmSession.GetDimension().GetMemberID(argDimensionType, argLabel));
 }
 public static string GetDimensionTypeName(HfmDimensionType argDimensionType)
 {
     return(Enum.GetName(typeof(HfmDimensionType), argDimensionType));
 }
Example #13
0
 public List <DimensionMember> EnumMembers2(HfmDimensionType argDimensionType)
 {
     return(EnumMembers2(argDimensionType, "[Hierarchy]"));
 }