public void GenerateCode(IConceptInfo conceptInfo, ICodeBuilder codeBuilder)
        {
            var info = (QueryableExtensionInfo)conceptInfo;

            codeBuilder.InsertCode(CodeSnippet(info), DataStructureCodeGenerator.BodyTag, info);
            codeBuilder.AddInterfaceAndReference(string.Format("System.IEquatable<{0}>", info.Name), typeof(IEquatable<>), info);

            PropertyInfo idProperty = new PropertyInfo { DataStructure = info, Name = "ID" };
            PropertyHelper.GenerateCodeForType(idProperty, codeBuilder, "Guid", true);
            codeBuilder.AddInterfaceAndReference(typeof(IEntity), info);

            RepositoryHelper.GenerateRepository(info, codeBuilder);
            RepositoryHelper.GenerateQueryableRepositoryFunctions(info, codeBuilder, QuerySnippet(info));
            codeBuilder.InsertCode(RepositoryFunctionsSnippet(info), RepositoryHelper.RepositoryMembers, info);
        }
        public void GenerateCode(IConceptInfo conceptInfo, ICodeBuilder codeBuilder)
        {
            ImplementsInterfaceInfo info = (ImplementsInterfaceInfo)conceptInfo;

            Type type = Type.GetType(info.InterfaceType);
            if (type == null)
                throw new FrameworkException("Could not find type \"" + info.InterfaceType + "\"");

            codeBuilder.AddInterfaceAndReference(type, info.DataStructure);
        }
        public void GenerateCode(IConceptInfo conceptInfo, ICodeBuilder codeBuilder)
        {
            var info = (DataStructureInfo)conceptInfo;

            if (info is IOrmDataStructure)
            {
                codeBuilder.InsertCode(CodeSnippet(info), DataStructureCodeGenerator.BodyTag, info);
                codeBuilder.AddInterfaceAndReference(string.Format("System.IEquatable<{0}>", info.Name), typeof (System.IEquatable<>), info);

                PropertyInfo idProperty = new PropertyInfo {DataStructure = info, Name = "ID"};
                PropertyHelper.GenerateCodeForType(idProperty, codeBuilder, "Guid", true);
                codeBuilder.AddInterfaceAndReference(typeof (IEntity), info);

                RepositoryHelper.GenerateRepository(info, codeBuilder);
                RepositoryHelper.GenerateQueryableRepositoryFunctions(info, codeBuilder, QuerySnippet(info));

                codeBuilder.AddReferencesFromDependency(typeof(IQueryDataSourceCommandImplementation));
                codeBuilder.AddReferencesFromDependency(typeof(GenericFilterWithPagingUtility));
                codeBuilder.AddReferencesFromDependency(typeof(QueryDataSourceCommandResult));
            }
        }
Example #4
0
        public void GenerateCode(IConceptInfo conceptInfo, ICodeBuilder codeBuilder)
        {
            var info = (ComputedInfo)conceptInfo;

            PropertyInfo idProperty = new PropertyInfo { DataStructure = info, Name = "ID" };
            PropertyHelper.GenerateCodeForType(idProperty, codeBuilder, "Guid", true);
            codeBuilder.AddInterfaceAndReference(typeof(IEntity), info);

            RepositoryHelper.GenerateRepository(info, codeBuilder);
            RepositoryHelper.GenerateQueryableRepositoryFunctions(info, codeBuilder, QueryFunctionBodySnippet(info));
            codeBuilder.InsertCode(RepositoryFunctionsSnippet(info), RepositoryHelper.RepositoryMembers, info);
        }
 public void GenerateCode(IConceptInfo conceptInfo, ICodeBuilder codeBuilder)
 {
     ImplementsInterfaceInfo info = (ImplementsInterfaceInfo)conceptInfo;
     codeBuilder.AddInterfaceAndReference(info.GetInterfaceType(), info.DataStructure);
 }