public string BuildCellset(MemoryStream data)
        {
            // arguments
            string server=Serialization.DeserializeValue(data, typeof(string)) as string;
            string database=Serialization.DeserializeValue(data, typeof(string)) as string;
            string mdx=Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst=new XmlCellsetWrapper();
            return cst.BuildCellset(server, database, mdx);
        }
        public string BuildCellset(MemoryStream data)
        {
            // arguments
            string server   = Serialization.DeserializeValue(data, typeof(string)) as string;
            string database = Serialization.DeserializeValue(data, typeof(string)) as string;
            string mdx      = Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst = new XmlCellsetWrapper();

            return(cst.BuildCellset(server, database, mdx));
        }
        public string GetLevelMembers(MemoryStream data)
        {
            // arguments
            string server=Serialization.DeserializeValue(data, typeof(string)) as string;
            string database=Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube=Serialization.DeserializeValue(data, typeof(string)) as string;
            string levelUniqueName=Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst=new XmlCellsetWrapper();
            return cst.GetLevelMembers(server, database, cube, levelUniqueName);
        }
        public string GetLevelMembers(MemoryStream data)
        {
            // arguments
            string server          = Serialization.DeserializeValue(data, typeof(string)) as string;
            string database        = Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube            = Serialization.DeserializeValue(data, typeof(string)) as string;
            string levelUniqueName = Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst = new XmlCellsetWrapper();

            return(cst.GetLevelMembers(server, database, cube, levelUniqueName));
        }
        public string GetReportSchemaXml(MemoryStream data)
        {
            // arguments
            string server       = Serialization.DeserializeValue(data, typeof(string)) as string;
            string database     = Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube         = Serialization.DeserializeValue(data, typeof(string)) as string;
            string openNodesXml = Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst = new XmlCellsetWrapper();

            return(cst.GetReportSchemaXml(server, database, cube, ref openNodesXml));
        }
        public string GetMemberChildren(MemoryStream data)
        {
            // arguments
            string server=Serialization.DeserializeValue(data, typeof(string)) as string;
            string database=Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube=Serialization.DeserializeValue(data, typeof(string)) as string;
            string memUniqueName=Serialization.DeserializeValue(data, typeof(string)) as string;
            bool ifLeafAddItself=(bool)Serialization.DeserializeValue(data, typeof(bool));

            // execute
            XmlCellsetWrapper cst=new XmlCellsetWrapper();
            return cst.GetMemberChildren(server, database, cube, memUniqueName, ifLeafAddItself);
        }
        public string GetMemberGrandParent(MemoryStream data)
        {
            // arguments
            string server         = Serialization.DeserializeValue(data, typeof(string)) as string;
            string database       = Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube           = Serialization.DeserializeValue(data, typeof(string)) as string;
            string hierUniqueName = Serialization.DeserializeValue(data, typeof(string)) as string;
            string memUniqueName  = Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst = new XmlCellsetWrapper();

            return(cst.GetMemberGrandParent(server, database, cube, hierUniqueName, memUniqueName));
        }
        public string GetMemberChildren(MemoryStream data)
        {
            // arguments
            string server          = Serialization.DeserializeValue(data, typeof(string)) as string;
            string database        = Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube            = Serialization.DeserializeValue(data, typeof(string)) as string;
            string memUniqueName   = Serialization.DeserializeValue(data, typeof(string)) as string;
            bool   ifLeafAddItself = (bool)Serialization.DeserializeValue(data, typeof(bool));

            // execute
            XmlCellsetWrapper cst = new XmlCellsetWrapper();

            return(cst.GetMemberChildren(server, database, cube, memUniqueName, ifLeafAddItself));
        }
        public string GetSchemaMembers(MemoryStream data)
        {
            // arguments
            string    server      = Serialization.DeserializeValue(data, typeof(string)) as string;
            string    database    = Serialization.DeserializeValue(data, typeof(string)) as string;
            string    cube        = Serialization.DeserializeValue(data, typeof(string)) as string;
            ArrayList uniqueNames = new ArrayList();

            while (data.Position < data.Length)
            {
                uniqueNames.Add((string)Serialization.DeserializeValue(data, typeof(string)));
            }

            // execute
            XmlCellsetWrapper cst = new XmlCellsetWrapper();

            return(cst.GetSchemaMembers(server, database, cube, (string[])uniqueNames.ToArray(typeof(string))));
        }
        public string GetMemberGrandParent(MemoryStream data)
        {
            // arguments
            string server=Serialization.DeserializeValue(data, typeof(string)) as string;
            string database=Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube=Serialization.DeserializeValue(data, typeof(string)) as string;
            string hierUniqueName=Serialization.DeserializeValue(data, typeof(string)) as string;
            string memUniqueName=Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst=new XmlCellsetWrapper();
            return cst.GetMemberGrandParent(server, database, cube, hierUniqueName, memUniqueName);
        }
        public string GetSchemaMembers(MemoryStream data)
        {
            // arguments
            string server=Serialization.DeserializeValue(data, typeof(string)) as string;
            string database=Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube=Serialization.DeserializeValue(data, typeof(string)) as string;
            ArrayList uniqueNames=new ArrayList();
            while(data.Position<data.Length)
                uniqueNames.Add((string)Serialization.DeserializeValue(data, typeof(string)));

            // execute
            XmlCellsetWrapper cst=new XmlCellsetWrapper();
            return cst.GetSchemaMembers(server, database, cube, (string[])uniqueNames.ToArray(typeof(string)));
        }
        public string GetReportXml(MemoryStream data)
        {
            // arguments
            string server=Serialization.DeserializeValue(data, typeof(string)) as string;
            string database=Serialization.DeserializeValue(data, typeof(string)) as string;
            string cube=Serialization.DeserializeValue(data, typeof(string)) as string;
            string inReportXml=Serialization.DeserializeValue(data, typeof(string)) as string;

            // execute
            XmlCellsetWrapper cst=new XmlCellsetWrapper();
            return cst.GetReportXml(server, database, cube, ref inReportXml);
        }