public List <EquivalencyClass> GetEquivalencyClasses(DimensionTree tree)
        {
            var equivalencyClasses = new List <EquivalencyClass>();

            foreach (var rootDim in tree.RootDimensions)
            {
                var eqC = new EquivalencyClass
                {
                    Name       = "eq_class_" + rootDim.Name,
                    Dimensions = new List <DimensionDto>()
                };
                eqC.Dimensions.AddRange(rootDim.GetSubtreeDimensionDtos());
                equivalencyClasses.Add(eqC);
            }
            return(equivalencyClasses);
        }
        private void CreateLiteralDbaSetting(XmlElement dbaSettings, XmlDocument doc, string name, string id, string bbaId, EquivalencyClass eqClass = null)
        {
            var dbaSetting = (XmlElement)dbaSettings.AppendChild(doc.CreateElement("DBASetting"));

            dbaSetting.SetAttribute("id", id);
            dbaSetting.SetAttribute("type", "Literal");
            var naame = (XmlElement)dbaSetting.AppendChild(doc.CreateElement("Name"));

            naame.InnerText = name;
            var baSettingRef = (XmlElement)dbaSetting.AppendChild(doc.CreateElement("BASettingRef"));

            baSettingRef.InnerText = bbaId;
            var literalSign = (XmlElement)dbaSetting.AppendChild(doc.CreateElement("LiteralSign"));

            literalSign.InnerText = "Positive";
            var literalType = (XmlElement)dbaSetting.AppendChild(doc.CreateElement("LiteralType"));

            literalType.InnerText = "Basic";
            if (eqClass != null)
            {
                var equivalenceClass = (XmlElement)dbaSetting.AppendChild(doc.CreateElement("EquivalenceClass"));
                equivalenceClass.InnerText = eqClass.Name;
            }
        }