Beispiel #1
0
        public string GetParametersExtendPropertiesString(MySmo.IExtendPropertiesBase mysmo_epb)
        {
            var dt       = new DS.KeyValuePairDataTable();
            var mysmo_pb = mysmo_epb as MySmo.IParameterBase;

            foreach (var mysmo_p in mysmo_pb.Parameters)
            {
                var cdt = new DS.KeyValuePairDataTable();
                cdt.AddKeyValuePairRow(K_MS_Description, mysmo_p.Description);
                if (mysmo_p.ExtendedProperties != null)
                {
                    foreach (var mysmo_ep in mysmo_p.ExtendedProperties)
                    {
                        cdt.AddKeyValuePairRow(mysmo_ep.Key, mysmo_ep.Value);
                    }
                }
                var csb = new StringBuilder();
                var csw = new StringWriter(csb);
                cdt.AcceptChanges();
                cdt.WriteXml(csw);

                dt.AddKeyValuePairRow(mysmo_p.Name, csb.ToString());
            }
            var sb = new StringBuilder();
            var sw = new StringWriter(sb);

            dt.AcceptChanges();
            dt.WriteXml(sw);
            return(sb.ToString());
        }
Beispiel #2
0
        public string GetColumnsExtendPropertiesString(MySmo.IExtendPropertiesBase mysmo_epb)
        {
            var dt       = new DS.KeyValuePairDataTable();
            var mysmo_tb = mysmo_epb as MySmo.ITableBase;

            foreach (var mysmo_c in mysmo_tb.Columns)
            {
                var cdt = new DS.KeyValuePairDataTable();
                if (!(mysmo_epb is MySmo.Table || mysmo_epb is MySmo.UserDefinedTableType))
                {
                    cdt.AddKeyValuePairRow(K_MS_Description, mysmo_c.Description);
                }
                foreach (var mysmo_ep in mysmo_c.ExtendedProperties)
                {
                    cdt.AddKeyValuePairRow(mysmo_ep.Key, mysmo_ep.Value);
                }
                var csb = new StringBuilder();
                var csw = new StringWriter(csb);
                cdt.AcceptChanges();
                cdt.WriteXml(csw);

                dt.AddKeyValuePairRow(mysmo_c.Name, csb.ToString());
            }
            var sb = new StringBuilder();
            var sw = new StringWriter(sb);

            dt.AcceptChanges();
            dt.WriteXml(sw);
            return(sb.ToString());
        }
Beispiel #3
0
        public void DistributeExtendProperties(MySmo.IParameterBase mysmo_pb)
        {
            #region implement

            var    epb = (MySmo.IExtendPropertiesBase)mysmo_pb;
            string s;
            if (!epb.ExtendedProperties.TryGetValue(K_ParameterSettings, out s))
            {
                return;
            }
            var dt = new DS.KeyValuePairDataTable();
            dt.ReadXml(new MemoryStream(Encoding.UTF8.GetBytes(s)));
            foreach (var parameter in mysmo_pb.Parameters)
            {
                var row = dt.FindByKey(parameter.Name);
                if (row != null)
                {
                    var cdt = new DS.KeyValuePairDataTable();
                    cdt.ReadXml(new MemoryStream(Encoding.UTF8.GetBytes(row.Value)));
                    foreach (var crow in cdt)
                    {
                        if (crow.Key == K_MS_Description)
                        {
                            parameter.Description = crow.Value;
                        }
                        else
                        {
                            parameter.ExtendedProperties.Add(crow.Key, crow.Value);
                        }
                    }
                }
            }
            epb.ExtendedProperties.Remove(K_ParameterSettings);

            #endregion
        }