public IEnumerable <CodeTypeDeclaration> CreateCodeDOMs()
        {
            string dataProviderHelperClassName = NamesCreator.MakeDataProviderHelperClassName(_dataTypeDescriptor);
            string wrapperClassName            = NamesCreator.MakeWrapperClassName(_dataTypeDescriptor);
            string dataIdClassName             = NamesCreator.MakeDataIdClassName(_dataTypeDescriptor);


            DataProviderHelperClassGenerator classGenerator = new DataProviderHelperClassGenerator(
                dataProviderHelperClassName,
                wrapperClassName,
                dataIdClassName,
                _dataTypeDescriptor
                );
            CodeTypeDeclaration dataHelperClassCodeTypeDeclaration = classGenerator.CreateClass();

            yield return(dataHelperClassCodeTypeDeclaration);


            DataIdClassGenerator dataIdClassGenerator           = new DataIdClassGenerator(dataIdClassName, _dataTypeDescriptor);
            CodeTypeDeclaration  dataIdClassCodeTypeDeclaration = dataIdClassGenerator.CreateClass();

            yield return(dataIdClassCodeTypeDeclaration);


            DataWrapperClassGenerator dataWrapperClassGenerator           = new DataWrapperClassGenerator(wrapperClassName, _dataTypeDescriptor);
            CodeTypeDeclaration       dataWrapperClassCodeTypeDeclaration = dataWrapperClassGenerator.CreateClass();

            yield return(dataWrapperClassCodeTypeDeclaration);
        }
        private void GetGeneratedClassNames(DataTypeDescriptor dataTypeDescriptor, out string dataProviderHelperClassFullName, out string dataIdClassFullName)
        {
            string namespaceName = NamesCreator.MakeNamespaceName(_dataProviderContext.ProviderName);

            dataProviderHelperClassFullName = namespaceName + "." + NamesCreator.MakeDataProviderHelperClassName(dataTypeDescriptor);
            dataIdClassFullName             = namespaceName + "." + NamesCreator.MakeDataIdClassName(dataTypeDescriptor);
        }
        public XmlProviderCodeGenerator(DataTypeDescriptor dataTypeDescriptor, string namespaceName)
        {
            _dataTypeDescriptor = dataTypeDescriptor;

            DataProviderHelperClassFullName = namespaceName + "." + NamesCreator.MakeDataProviderHelperClassName(dataTypeDescriptor);
            WrapperClassFullName            = namespaceName + "." + NamesCreator.MakeWrapperClassName(dataTypeDescriptor);
            DataIdClassFullName             = namespaceName + "." + NamesCreator.MakeDataIdClassName(dataTypeDescriptor);
        }