コード例 #1
0
ファイル: XmlLiteWriter.cs プロジェクト: wuhaiying83/EMR
        public static XmlLiteDocument ToXml(IXmlConvertible objXmlConvertible, string strElementName)
        {
            if (objXmlConvertible == null)
            {
                throw new ArgumentNullException("objXmlConvertible", "A valid non-null IXmlConvertible is required.");
            }

            XmlLiteDocument objXmlLiteDocument = new XmlLiteDocument(strElementName);

            try
            {
                objXmlConvertible.WriteXml(objXmlLiteDocument.Root);
            }
            catch (Exception objException)
            {
                string strErrorMessage = "Unable to generate XML for the message type '" + objXmlConvertible.GetType().FullName + ".";
                throw new Exception(strErrorMessage, objException);
            }

            return(objXmlLiteDocument);
        }
コード例 #2
0
ファイル: XslDataSource.cs プロジェクト: JonKruger/MvcContrib
 public XslDataSource(IXmlConvertible dataSource)
 {
     DataSource = dataSource;
 }
コード例 #3
0
ファイル: XslDataSource.cs プロジェクト: JonKruger/MvcContrib
 public XslDataSource(string rootName, IXmlConvertible dataSource)
 {
     RootName = rootName;
     DataSource = dataSource;
 }
コード例 #4
0
        void SaveValueToStore <T>(ISettingsStore settingsStore, string key, T value, bool xmlConvertible, Type settingType)
        {
            object existingValue   = null;
            bool   valueRestorable = false;
            bool   isNew           = false;

            if (value == null)
            {
                settingsStore.Remove(key);
            }
            else
            {
                valueRestorable = settingsStore.TryGetValue(key, settingType, out existingValue);
                isNew           = !valueRestorable;

                if (!xmlConvertible)
                {
                    object savableValue = GetSavableValue(settingType, value);

                    settingsStore[key] = savableValue;
                }
                else
                {
                    object xmlRepresentationOfValue;
                    try
                    {
                        IXmlConvertible convertible = (IXmlConvertible)value;
                        var             element     = convertible.ToXElement();
                        xmlRepresentationOfValue = element.ToString(SaveOptions.None);
                    }
                    catch (Exception ex)
                    {
                        Debug.WriteLine("SettingsService.SetSetting error raised converting to XML." + settingType + " " + ex);

                        if (RaiseExceptionsOnConversionErrors)
                        {
                            throw new SettingsException(
                                      "SettingsService.SetSetting error raised converting to XML. Value:" + value + ", Setting type:" + settingType,
                                      ex);
                        }

                        xmlRepresentationOfValue = GetSavableValue(settingType, value);
                    }

                    settingsStore[key] = xmlRepresentationOfValue;
                }
            }

            try
            {
                /* We attempt to save the value to the settings store.
                 * If the value cannot be saved, we attempt to roll back. */
                settingsStore.SaveAsync();
            }
            catch (Exception ex)
            {
                try
                {
                    if (valueRestorable)
                    {
                        settingsStore[key] = existingValue;
                    }
                    else if (isNew)
                    {
                        settingsStore.Remove(key);
                    }

                    if (valueRestorable || isNew)
                    {
                        settingsStore.SaveAsync();
                    }
                }
                catch (Exception ex2)
                {
                    Debug.WriteLine("Unable to restore value after exception raised in SettingsService" + ex2);
                }

                if (RaiseExceptionsOnConversionErrors)
                {
                    throw new SettingsException(
                              "SettingsService.SetSetting error raised calling settingsStore.Save(). Value:" + value + ", Setting type:" + settingType,
                              ex);
                }
            }
        }
コード例 #5
0
ファイル: XmlLiteWriter.cs プロジェクト: wuhaiying83/EMR
 public static XmlLiteDocument ToXml(IXmlConvertible objXmlConvertible)
 {
     return(ToXml(objXmlConvertible, objXmlConvertible.ElementName));
 }