Example #1
0
        protected override IProvider Deserialize(XmlElement providerNode)
        {
            #region << Check value on NullValue >>

            if (providerNode.InnerText == MapSerializerConst.NullValue)
            {
                return(null);
            }

            #endregion

            XmlAttribute typeAttribute = providerNode.Attributes["Type"];
            if (typeAttribute == null)
            {
                throw new ProviderDeserializationException("Element 'Provider' don't have attribute 'Type'!");
            }

            switch (typeAttribute.Value)
            {
            case "eidss.gis.Data.Providers.EidssSqlServer2008":
                return(EidssSqlServer2008ProviderSerializer.Deserialize(providerNode));

            case "SharpMap.Data.Providers.ShapeFile":
                return(ShapeFileProviderSerializer.Deserialize(providerNode));

            case "SharpMap.Data.Providers.MsSql":
                return(MsSqlProviderSerializer.Deserialize(providerNode));

            case "SharpMap.Data.Providers.SqlServer2008":
                return(SqlServer2008ProviderSerializer.Deserialize(providerNode));

            default:
                throw new NotImplementedException();
            }
        }
Example #2
0
        protected override void Serialize(IProvider provider, XmlElement xmlElement)
        {
            // << Check provider on null>>
            if (provider == null)
            {
                xmlElement.InnerText = MapSerializerConst.NullValue;
            }
            else
            {
                //Add attr TYPE
                XmlAttribute typeAttribute = xmlElement.OwnerDocument.CreateAttribute("Type");
                typeAttribute.Value = provider.GetType().ToString();
                xmlElement.Attributes.Append(typeAttribute);

                switch (provider.GetType().ToString())
                {
                case "eidss.gis.Data.Providers.EidssSqlServer2008":
                    EidssSqlServer2008ProviderSerializer.Serialize((EidssSqlServer2008)provider, xmlElement);
                    break;

                case "SharpMap.Data.Providers.ShapeFile":
                    ShapeFileProviderSerializer.Serialize((ShapeFile)provider, xmlElement);
                    break;

                case "SharpMap.Data.Providers.MsSql":
                    MsSqlProviderSerializer.Serialize((MsSql)provider, xmlElement);
                    break;

                case "SharpMap.Data.Providers.SqlServer2008":
                    SqlServer2008ProviderSerializer.Serialize((SqlServer2008)provider, xmlElement);
                    break;

                default:
                    throw new NotImplementedException();
                }
            }
        }