Esempio n. 1
0
        private XElement BuildSimpleType(Type type, out string fileGroup)
        {
            var xsdSimpleType = XsdSimpleType.Get(type);

            //添加XSD文件
            fileGroup = xsdSimpleType.FileGroup;
            SetDefaultFile(fileGroup);

            var simpleTypeElement = new XElement(
                _xs + "simpleType",
                new XAttribute("name", type.Name),
                new XAttribute("final", "restriction")
                );
            var restrictionElement = new XElement(
                _xs + "restriction",
                new XAttribute("base", "xs:string")
                );

            foreach (var val in Enum.GetNames(type))
            {
                restrictionElement.Add(
                    new XElement(
                        _xs + "enumeration",
                        new XAttribute("value", val)
                        )
                    );
            }
            simpleTypeElement.Add(restrictionElement);
            return(simpleTypeElement);
        }
Esempio n. 2
0
        public static string GetFileGroup(Type type)
        {
            type = GetPropertyType(type);

            if (type.IsClass)
            {
                return(XsdComplexType.Get(type).FileGroup);
            }
            if (type.IsEnum)
            {
                return(XsdSimpleType.Get(type).FileGroup);
            }
            return(null);
        }
Esempio n. 3
0
        private static ServiceDescription CreateNewServiceDescription()
        {
            var serviceDescription = new ServiceDescription();

            serviceDescription.IdOwnerUser          = 1;
            serviceDescription.ServiceName          = "Test Service";
            serviceDescription.RegistrationDateTime = DateTime.Now;
            serviceDescription.Xml = "test";

            serviceDescription.XsdDocument = new XsdDocument
            {
                RegistrationDateTime = DateTime.Now,
                ServiceDescription   = serviceDescription,
                XsdComplexTypes      = new List <XsdComplexType>(),
                XsdSimpleTypes       = new List <XsdSimpleType>()
            };

            var complexType1 = new XsdComplexType
            {
                XsdComplexTypeName   = "Complex Type 1",
                RegistrationDateTime = DateTime.Now
            };

            var complexType2 = new XsdComplexType
            {
                XsdComplexTypeName   = "Complex Type 2",
                RegistrationDateTime = DateTime.Now
            };

            var complexType3 = new XsdComplexType
            {
                XsdComplexTypeName   = "Complex Type 3",
                RegistrationDateTime = DateTime.Now
            };

            var complexType4 = new XsdComplexType
            {
                XsdComplexTypeName   = "Complex Type 4",
                RegistrationDateTime = DateTime.Now
            };

            complexType1.ChildrenXsdComplexTypes = new List <XsdComplexType> {
                complexType2
            };
            //complexType2.ParentsXsdComplexType = new List<XsdComplexType> { complexType1 };

            complexType2.ChildrenXsdComplexTypes = new List <XsdComplexType> {
                complexType3, complexType4
            };
            //complexType3.ParentsXsdComplexType = new List<XsdComplexType> { complexType2 };
            //complexType4.ParentsXsdComplexType = new List<XsdComplexType> { complexType2 };

            var simpleType1 = new XsdSimpleType
            {
                XsdSimpleTypeName    = "Simple Type 1",
                RegistrationDateTime = DateTime.Now
            };

            var simpleType2 = new XsdSimpleType
            {
                XsdSimpleTypeName    = "Simple Type 2",
                RegistrationDateTime = DateTime.Now
            };

            var simpleType3 = new XsdSimpleType
            {
                XsdSimpleTypeName    = "Simple Type 3",
                RegistrationDateTime = DateTime.Now
            };

            complexType2.XsdSimpleTypes = new List <XsdSimpleType> {
                simpleType1
            };
            complexType3.XsdSimpleTypes = new List <XsdSimpleType> {
                simpleType2
            };
            complexType4.XsdSimpleTypes = new List <XsdSimpleType> {
                simpleType3
            };

            serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType1);
            serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType2);
            serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType3);
            serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType4);

            var wsdlInterface = new WsdlInterface {
                WsdlInterfaceName = "Interface 1"
            };

            serviceDescription.WsdlInterfaces = new List <WsdlInterface> {
                wsdlInterface
            };

            return(serviceDescription);
        }