private int MemberLabel2Id(HfmDimensionType argDimensionType, DataRow argDataRow) { string fieldName = HfmDimensionTypeHelper.GetDimensionFieldName(argDimensionType); string memberLabel = argDataRow[fieldName].ToString(); return(MemberLabel2Id(argDimensionType, memberLabel)); }
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); }
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); }
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)); } }
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)); } }
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); }
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); }
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); }
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)); }
public List <DimensionMember> EnumMembers2(HfmDimensionType argDimensionType) { return(EnumMembers2(argDimensionType, "[Hierarchy]")); }