예제 #1
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.Hosting.Infrastructure.Interfaces;\r\nusing Ninject;\r\n\r\nnamespace ");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\KernelManipulationsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\KernelManipulationsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\KernelManipulationsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("DataServiceKernelManipulations : IKernelManipulation\r\n    {\r\n        public void " +
                       "Apply(IKernel kernel)\r\n        { }\r\n    }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #2
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Core.Interfaces;\r\n\r\nnamespace ");

            #line 10 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Interfaces\IDataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 10 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Interfaces\IDataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public interface I");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Interfaces\IDataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("DataService : IDataService\r\n    {\r\n\t}\r\n}");
            return(this.GenerationEnvironment.ToString());
        }
예제 #3
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Core.Interfaces;\r\nusing System;\r\nusing System.Collections." +
                       "Generic;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace ");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\StartupTaskTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\StartupTaskTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\StartupTaskTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("DataServiceStartup : IStartUpTask\r\n    {\r\n        public long Position => 1;\r\n\r\n " +
                       "       public Task<bool> Invoke()\r\n        {\r\n\t\t\treturn Task.FromResult(true);\r\n" +
                       "\t\t}\r\n    }\r\n}");
            return(this.GenerationEnvironment.ToString());
        }
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            #line 8 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceProjectTemplate.tt"
            var namespacePrefix = DomainDataService.GetNamespace();

            #line default
            #line hidden
            this.Write(@"<Project Sdk=""Microsoft.NET.Sdk"">

  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition=""'$(Configuration)|$(Platform)'=='Release|AnyCPU'"">
    <OutputPath>output</OutputPath>
  </PropertyGroup>

  <PropertyGroup Condition=""'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"">
    <OutputPath>output</OutputPath>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include=""combined-bwf-database-dataservice"" Version=""2046.3.46"" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include=""..\");

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceProjectTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(namespacePrefix));

            #line default
            #line hidden
            this.Write(".");

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceProjectTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain\\");

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceProjectTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(namespacePrefix));

            #line default
            #line hidden
            this.Write(".");

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceProjectTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain.csproj\" />\r\n  </ItemGroup>\r\n\r\n</Project>\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #5
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Support.NHibernate.Abstract;\r\nusing FluentValidation;\r\nusi" +
                       "ng ");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\DeleteValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\DeleteValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain;\r\n\r\nnamespace ");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\DeleteValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\DeleteValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\DeleteValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("DeleteValidator : Validator<");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\DeleteValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write(">\r\n    {\r\n        public ");

            #line 17 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\DeleteValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("DeleteValidator()\r\n        { }\r\n    }\r\n}");
            return(this.GenerationEnvironment.ToString());
        }
예제 #6
0
        public void GenerateDomainProject(DomainDataService dataService, string outputFolder)
        {
            outputFolder = Path.Combine(outputFolder, $"{dataService.Solution.NamespacePrefix}.{dataService.Name}.Domain");
            var constantsFolder = Path.Combine(outputFolder, "Constants");
            var modelsFolder    = Path.Combine(outputFolder, "Models");
            var metadataFolder  = Path.Combine(outputFolder, "Metadata");

            ReplaceDirectories(constantsFolder, modelsFolder, metadataFolder);

            var session = new Dictionary <string, object>();

            session.Add("DomainDataService", dataService);

            DomainProjectTemplate projectTemplate = new DomainProjectTemplate();

            projectTemplate.Session = session;
            projectTemplate.Initialize();
            string content = projectTemplate.TransformText();

            File.WriteAllText(Path.Combine(outputFolder, $"{dataService.Solution.NamespacePrefix}.{dataService.Name}.Domain.csproj"), content);

            DomainConstantsTemplate constantsTemplate = new DomainConstantsTemplate();

            constantsTemplate.Session = session;
            constantsTemplate.Initialize();
            content = constantsTemplate.TransformText();
            File.WriteAllText(Path.Combine(constantsFolder, $"{dataService.Name}Constants.cs"), content);

            if (!(dataService.Schemas is null))
            {
                foreach (var domainObject in dataService.Schemas.SelectMany(s => s.Objects))
                {
                    session["CurrentObject"] = domainObject;

                    ModelTemplate modelTemplate = new ModelTemplate();
                    modelTemplate.Session = session;
                    modelTemplate.Initialize();
                    content = modelTemplate.TransformText();
                    File.WriteAllText(Path.Combine(modelsFolder, $"{domainObject.ObjectName}.cs"), content);

                    MetadataTemplate metadataTemplate = new MetadataTemplate();
                    metadataTemplate.Session = session;
                    metadataTemplate.Initialize();
                    content = metadataTemplate.TransformText();
                    File.WriteAllText(Path.Combine(metadataFolder, $"{domainObject.ObjectName}Metadata.cs"), content);
                }
            }

            MetadataBundleTemplate bundleTemplate = new MetadataBundleTemplate();

            bundleTemplate.Session = session;
            bundleTemplate.Initialize();
            content = bundleTemplate.TransformText();
            File.WriteAllText(Path.Combine(metadataFolder, $"{dataService.Name}MetadataBundle.cs"), content);
        }
예제 #7
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("namespace ");

            #line 8 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Constants\ConstantsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 8 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Constants\ConstantsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain\r\n{\r\n    public class ");

            #line 10 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Constants\ConstantsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Constants\r\n    {\r\n\t\tpublic const string DataServiceName = \"");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Constants\ConstantsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("\";\r\n\t\tpublic const string DataServiceDisplayName = \"");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Constants\ConstantsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(string.IsNullOrEmpty(DomainDataService.DisplayName) ? DomainDataService.Name : DomainDataService.DisplayName));

            #line default
            #line hidden
            this.Write("\";\r\n\t\tpublic const string DataServiceSchema = \"");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Constants\ConstantsTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetDefaultSchema()));

            #line default
            #line hidden
            this.Write("\";\r\n    }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #8
0
 public static string GetDefaultSchema(this DomainDataService dataService)
 {
     return(dataService.Schemas?.FirstOrDefault(p => p.IsDefault)?.SchemaName ?? string.Empty);
 }
예제 #9
0
        public void GenerateDataServiceProject(DomainDataService dataService, string outputFolder)
        {
            outputFolder = Path.Combine(outputFolder, $"{dataService.Solution.NamespacePrefix}.{dataService.Name}.DataService");
            var interfacesFolder  = Path.Combine(outputFolder, "Interfaces");
            var mappingsFolder    = Path.Combine(outputFolder, "Mappings");
            var recordTypesFolder = Path.Combine(outputFolder, "RecordTypes");
            var validatorsFolder  = Path.Combine(outputFolder, "Validators");

            ReplaceDirectories(interfacesFolder, mappingsFolder, recordTypesFolder, validatorsFolder);

            var session = new Dictionary <string, object>();

            session.Add("DomainDataService", dataService);

            DataServiceProjectTemplate projectTemplate = new DataServiceProjectTemplate();

            projectTemplate.Session = session;
            projectTemplate.Initialize();
            string content = projectTemplate.TransformText();

            File.WriteAllText(Path.Combine(outputFolder, $"{dataService.Solution.NamespacePrefix}.{dataService.Name}.DataService.csproj"), content);

            IRepositoryTemplate repositoryInterfaceTemplate = new IRepositoryTemplate();

            repositoryInterfaceTemplate.Session = session;
            repositoryInterfaceTemplate.Initialize();
            content = repositoryInterfaceTemplate.TransformText();
            File.WriteAllText(Path.Combine(interfacesFolder, $"I{dataService.Name}DataServiceRespository.cs"), content);

            IDataServiceTemplate dataServiceInterfaceTemplate = new IDataServiceTemplate();

            dataServiceInterfaceTemplate.Session = session;
            dataServiceInterfaceTemplate.Initialize();
            content = dataServiceInterfaceTemplate.TransformText();
            File.WriteAllText(Path.Combine(interfacesFolder, $"I{dataService.Name}DataService.cs"), content);

            RepositoryTemplate repositoryTemplate = new RepositoryTemplate();

            repositoryTemplate.Session = session;
            repositoryTemplate.Initialize();
            content = repositoryTemplate.TransformText();
            File.WriteAllText(Path.Combine(outputFolder, $"{dataService.Name}DataServiceRespository.cs"), content);

            DataServiceTemplate dataServiceTemplate = new DataServiceTemplate();

            dataServiceTemplate.Session = session;
            dataServiceTemplate.Initialize();
            content = dataServiceTemplate.TransformText();
            File.WriteAllText(Path.Combine(outputFolder, $"{dataService.Name}DataService.cs"), content);

            KernelManipulationsTemplate kernelManipulationsTemplate = new KernelManipulationsTemplate();

            kernelManipulationsTemplate.Session = session;
            kernelManipulationsTemplate.Initialize();
            content = kernelManipulationsTemplate.TransformText();
            File.WriteAllText(Path.Combine(outputFolder, $"{dataService.Name}KernelManipulations.cs"), content);

            StartupTaskTemplate startupTaskTemplate = new StartupTaskTemplate();

            startupTaskTemplate.Session = session;
            startupTaskTemplate.Initialize();
            content = startupTaskTemplate.TransformText();
            File.WriteAllText(Path.Combine(outputFolder, $"{dataService.Name}Startup.cs"), content);

            if (!(dataService.Schemas is null))
            {
                foreach (var domainObject in dataService.Schemas.SelectMany(s => s.Objects))
                {
                    session["CurrentObject"] = domainObject;

                    MappingTemplate mappingTemplate = new MappingTemplate();
                    mappingTemplate.Session = session;
                    mappingTemplate.Initialize();
                    content = mappingTemplate.TransformText();
                    File.WriteAllText(Path.Combine(mappingsFolder, $"{domainObject.ObjectName}Mapping.cs"), content);

                    RecordTypeTemplate recordTypeTemplate = new RecordTypeTemplate();
                    recordTypeTemplate.Session = session;
                    recordTypeTemplate.Initialize();
                    content = recordTypeTemplate.TransformText();
                    File.WriteAllText(Path.Combine(recordTypesFolder, $"{domainObject.ObjectName}RecordType.cs"), content);

                    if (domainObject.SupportsIHaveId())
                    {
                        var modelValidatorsFolder = Path.Combine(validatorsFolder, domainObject.ObjectName);
                        ReplaceDirectories(modelValidatorsFolder);

                        ValidatorTemplate validatorTemplate = new ValidatorTemplate();
                        validatorTemplate.Session = session;
                        validatorTemplate.Initialize();
                        content = validatorTemplate.TransformText();
                        File.WriteAllText(Path.Combine(modelValidatorsFolder, $"{domainObject.ObjectName}Validator.cs"), content);

                        DeleteValidatorTemplate deleteValidatorTemplate = new DeleteValidatorTemplate();
                        deleteValidatorTemplate.Session = session;
                        deleteValidatorTemplate.Initialize();
                        content = deleteValidatorTemplate.TransformText();
                        File.WriteAllText(Path.Combine(modelValidatorsFolder, $"{domainObject.ObjectName}DeleteValidator.cs"), content);

                        BatchValidatorTemplate batchValidatorTemplate = new BatchValidatorTemplate();
                        batchValidatorTemplate.Session = session;
                        batchValidatorTemplate.Initialize();
                        content = batchValidatorTemplate.TransformText();
                        File.WriteAllText(Path.Combine(modelValidatorsFolder, $"{domainObject.ObjectName}BatchValidator.cs"), content);
                    }
                }
            }
        }
예제 #10
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write(@"using BWF.DataServices.Core.Abstract;
using BWF.DataServices.Core.Interfaces;
using BWF.DataServices.Core.Menu;
using BWF.DataServices.Support.NHibernate.Abstract;
using BWF.Globalisation.Interfaces;
using BWF.Hosting.Infrastructure.Interfaces;
using FluentValidation;
using System.Collections.Generic;
using ");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain;\r\n\r\nnamespace ");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("DataService : ConventionalDatabaseDataService<");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("DataService>, I");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("DataService\r\n    {\r\n        public ");

            #line 22 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(@"DataService(
            IHostConfiguration hostConfiguration,
            IEnumerable<IRecordType> recordTypes,
            IGlobalisationProvider globalisationProvider,
            IAuthorisation authorisation,
            IMetadataProvider metadataProvider,
            I");

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Repository repository,\r\n            IDatabaseStreamingQueryExecutor databaseStrea" +
                       "mingQueryExecutor)\r\n        : base(\r\n            ");

            #line 31 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(@"Constants.DataServiceName,
            globalisationProvider,
            repository as DatabaseDataServiceRepository,
            recordTypes,
            metadataProvider,
            databaseStreamingQueryExecutor)
        {
            ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;
        }

        private MenuItem CreateMenuItemForRecordType(string typeName, string displayName, int position)
        {
            return new MenuItem()
            {
                Id = $""{");

            #line 45 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Constants.DataServiceName}-{typeName}\",\r\n                Text = displayName,\r\n   " +
                       "             Link = $\"{{{{appSetting-HostUrl}}}}/view/#default/{");

            #line 47 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(@"Constants.DataServiceName}/{typeName}"",
                Position = position
            };
        }

        public override IEnumerable<MenuItem> GetCustomMenus()
        {
            var menu = new List<MenuItem>()
            {
                new MenuItem() {
                    Id = ");

            #line 57 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Constants.DataServiceName,\r\n                    Text = ");

            #line 58 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Constants.DataServiceDisplayName,\r\n                    Position = 1,\r\n\t\t\t\t\tItems " +
                       "= new List<MenuItem>() {\r\n");

            #line 61 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            var position = 0;

            #line default
            #line hidden

            #line 62 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            var domainObjects = DomainDataService.Schemas.SelectMany(s => s.Objects).ToList();

            #line default
            #line hidden

            #line 63 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            for (int i = 0; i < domainObjects.Count; i++)
            {
            #line default
            #line hidden

            #line 64 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
                var domainObject = domainObjects[i];

            #line default
            #line hidden
                this.Write("                        CreateMenuItemForRecordType(nameof(");

            #line 65 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(domainObject.ObjectName));

            #line default
            #line hidden
                this.Write("), \"");

            #line 65 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(domainObject.DisplayName));

            #line default
            #line hidden
                this.Write("\", ");

            #line 65 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(position));

            #line default
            #line hidden
                this.Write(")");

            #line 65 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
                if (i < domainObjects.Count - 1)
                {
            #line default
            #line hidden
                    this.Write(",");

            #line 65 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
                }

            #line default
            #line hidden

            #line 66 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\DataServiceTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("\t\t\t\t\t}\r\n                }\r\n            };\r\n            return menu;\r\n        }\r\n " +
                       "   }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #11
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Support.NHibernate.Abstract;\r\nusing FluentValidation;\r\nusi" +
                       "ng ");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain;\r\n\r\nnamespace ");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("Validator : Validator<");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write(">\r\n    {\r\n        public ");

            #line 17 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("Validator()\r\n        {\r\n");

            #line 19 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            for (int i = 0; i < CurrentObject.Properties.Count; i++)
            {
            #line default
            #line hidden

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                var property = CurrentObject.Properties[i];

            #line default
            #line hidden

            #line 21 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                var maxLength = property.Length == -1 ? int.MaxValue: property.Length;

            #line default
            #line hidden

            #line 22 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                if (property.RequiresValidation())
                {
            #line default
            #line hidden
                    this.Write("\t\t\tRuleFor(x => x.");

            #line 23 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(")\r\n");

            #line 24 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                    if (!property.IsNullable)
                    {
            #line default
            #line hidden
                        this.Write("                .NotNull()");

            #line 25 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                        if (maxLength == 0)
                        {
            #line default
            #line hidden
                            this.Write(";");

            #line 25 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                        }

            #line default
            #line hidden

            #line 26 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                    }

            #line default
            #line hidden

            #line 27 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                    if (maxLength != 0)
                    {
            #line default
            #line hidden

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                        if (property.IsNullable)
                        {
            #line default
            #line hidden
                            this.Write("\t\t\t\t.Length(0, ");

            #line 29 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(maxLength));

            #line default
            #line hidden
                            this.Write(");");

            #line 29 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                            WriteLine("");

            #line default
            #line hidden

            #line 30 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                        }
                        else
                        {
            #line default
            #line hidden
                            this.Write("\t\t\t\t.Length(1, ");

            #line 31 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(maxLength));

            #line default
            #line hidden
                            this.Write(");");

            #line 31 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                            WriteLine("");

            #line default
            #line hidden

            #line 32 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                        }

            #line default
            #line hidden

            #line 33 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                    }

            #line default
            #line hidden

            #line 34 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                    if (i < CurrentObject.Properties.Count - 1)
                    {
                        WriteLine("");
                    }

            #line default
            #line hidden

            #line 35 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
                }

            #line default
            #line hidden

            #line 36 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\ValidatorTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("        }\r\n    }\r\n}");
            return(this.GenerationEnvironment.ToString());
        }
예제 #12
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Core.Interfaces;\r\nusing BWF.DataServices.Support.NHibernat" +
                       "e.Abstract;\r\nusing BWF.Globalisation.Interfaces;\r\nusing BWF.Hosting.Infrastructu" +
                       "re.Interfaces;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing ");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain;\r\n\r\nnamespace ");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("DataServiceRepository : ConventionalDatabaseDataServiceRepository, I");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Repository\r\n    {\r\n        public ");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(@"DataServiceRepository(
           IHostConfiguration hostConfiguration,
           IGlobalisationProvider globalisationProvider,
           IAuthorisation authorisation,
           IMetadataProvider metadataProvider)
        : base(
            hostConfiguration,
            globalisationProvider,
            authorisation,
            new List<string>(),
            metadataProvider,
            ");

            #line 31 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Constants.DataServiceName,\r\n            ");

            #line 32 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RepositoryTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Constants.DataServiceSchema)\r\n        { }\r\n    }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #13
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Metadata.Fluent.Abstract;\r\n\r\nnamespace ");

            #line 10 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 10 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain\r\n{\r\n    public class ");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("MetadataBundle : TypeMetadataBundle\r\n    {\r\n        public ");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("MetadataBundle()\r\n           : base(");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write("Constants.DataServiceName,\r\n");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            var domainObjects = DomainDataService.Schemas.SelectMany(s => s.Objects).ToList();

            #line default
            #line hidden

            #line 17 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            for (int i = 0; i < domainObjects.Count; i++)
            {
            #line default
            #line hidden

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
                var domainObject = domainObjects[i];

            #line default
            #line hidden
                this.Write("\t\t\t\tnew ");

            #line 19 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(domainObject.ObjectName));

            #line default
            #line hidden
                this.Write("Metadata()");

            #line 19 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
                if (i < domainObjects.Count - 1)
                {
            #line default
            #line hidden
                    this.Write(",");

            #line 19 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
                }
                else
                {
            #line default
            #line hidden
                    this.Write(")");

            #line 19 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
                }

            #line default
            #line hidden
                this.Write(" \r\n");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataBundleTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("        { }\r\n    }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #14
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Metadata.Interfaces;\r\nusing System;\r\n\r\nnamespace ");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain\r\n{\r\n");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
            if (CurrentObject.SupportsIHaveId())
            {
            #line default
            #line hidden
                this.Write(" \r\n    public class ");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write(" : IHaveId<");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.GetKeyType()));

            #line default
            #line hidden
                this.Write(">\r\n");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
            }
            else
            {
            #line default
            #line hidden
                this.Write("\tpublic class ");

            #line 17 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write("\r\n");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("    {\r\n");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
            foreach (var property in CurrentObject.Properties)
            {
            #line default
            #line hidden
                this.Write("        public virtual ");

            #line 21 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyType.ToCSharpType()));

            #line default
            #line hidden
                this.Write(" ");

            #line 21 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                this.Write(" { get; set; }\r\n");

            #line 22 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Models\ModelTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("    }\r\n}");
            return(this.GenerationEnvironment.ToString());
        }
예제 #15
0
 public static string GetNamespace(this DomainDataService dataService)
 {
     return(dataService.Solution?.GetNamespace());
 }
예제 #16
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using AutoMapper;\r\n");

            #line 10 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            if (!CurrentObject.SupportsIHaveId())
            {
            #line default
            #line hidden
                this.Write("using BWF.DataServices.Core.Abstract;\r\n");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            }
            else
            {
            #line default
            #line hidden
                this.Write("using BWF.DataServices.Support.NHibernate.Abstract;\r\n");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("using BWF.DataServices.Metadata.Attributes.Actions;\r\nusing ");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain;\r\n\r\nnamespace ");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n\t[ViewAction(\"");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.DisplayName));

            #line default
            #line hidden
            this.Write("\")]\r\n");

            #line 21 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            if (CurrentObject.SupportsIHaveId())
            {
            #line default
            #line hidden
                this.Write("    [CreateAction(\"");

            #line 22 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.DisplayName));

            #line default
            #line hidden
                this.Write("\")]\r\n    [EditAction(\"");

            #line 23 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.DisplayName));

            #line default
            #line hidden
                this.Write("\")]\r\n    [DeleteAction(\"");

            #line 24 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.DisplayName));

            #line default
            #line hidden
                this.Write("\")]\r\n");

            #line 25 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            }

            #line default
            #line hidden

            #line 26 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            if (CurrentObject.SupportsIHaveId())
            {
            #line default
            #line hidden
                this.Write("    public class ");

            #line 27 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write("RecordType : ChangeableRecordType<");

            #line 27 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write(", ");

            #line 27 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.GetKeyType()));

            #line default
            #line hidden
                this.Write(", ");

            #line 27 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write("BatchValidator>\r\n");

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            }
            else
            {
            #line default
            #line hidden
                this.Write("\tpublic class ");

            #line 29 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write("RecordType : RecordType<");

            #line 29 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write(", ");

            #line 29 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
                this.Write(">\r\n");

            #line 30 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("    {\r\n        public override void ConfigureMapper()\r\n        {\r\n            Map" +
                       "per.CreateMap<");

            #line 34 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write(", ");

            #line 34 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\RecordTypes\RecordTypeTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write(">(); \r\n        }\r\n    }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #17
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Metadata.Fluent.Abstract;\r\n\r\nnamespace ");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain\r\n{\r\n    public class ");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("Metadata : TypeMetadataProvider<");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write(">\r\n    {\r\n        public ");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("Metadata()\r\n        {\r\n            AutoUpdatesByDefault();\r\n\r\n            Display" +
                       "Name(\"");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.DisplayName));

            #line default
            #line hidden
            this.Write("\");\r\n\r\n");

            #line 22 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            foreach (var property in CurrentObject.Properties)
            {
            #line default
            #line hidden

            #line 23 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                switch (property.PropertyType)
                {
            #line default
            #line hidden

            #line 24 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.Int32:

            #line default
            #line hidden

            #line 25 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.Int64:

            #line default
            #line hidden
                    this.Write("\t\t\tIntegerProperty(x => x.");

            #line 26 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(")\r\n");

            #line 27 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    break;

            #line default
            #line hidden

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.Decimal:

            #line default
            #line hidden

            #line 29 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.Double:

            #line default
            #line hidden

            #line 30 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.Float:

            #line default
            #line hidden
                    this.Write("\t\t\tNumericProperty(x => x.");

            #line 31 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(")\r\n");

            #line 32 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    break;

            #line default
            #line hidden

            #line 33 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.DateTime:

            #line default
            #line hidden

            #line 34 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.DateTimeOffset:

            #line default
            #line hidden
                    this.Write("\t\t\tDateProperty(x => x.");

            #line 35 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(")\r\n");

            #line 36 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    break;

            #line default
            #line hidden

            #line 37 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                case PropertyType.Boolean:

            #line default
            #line hidden
                    this.Write("\t\t\tBooleanProperty(x => x.");

            #line 38 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(")\r\n");

            #line 39 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    break;

            #line default
            #line hidden

            #line 40 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                default:

            #line default
            #line hidden
                    this.Write("\t\t\tStringProperty(x => x.");

            #line 41 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(")\r\n");

            #line 42 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                    break;

            #line default
            #line hidden

            #line 43 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                }

            #line default
            #line hidden

            #line 44 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                if (property.IsPartOfKey)
                {
            #line default
            #line hidden
                    this.Write("\t\t\t\t.IsId()\r\n");

            #line 46 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("\t\t\t\t.DisplayName(\"");

            #line 47 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(string.IsNullOrEmpty(property.DisplayName) ? property.PropertyName : property.DisplayName));

            #line default
            #line hidden
                this.Write("\");\r\n\r\n");

            #line 49 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("            ViewDefaults()\r\n");

            #line 51 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            foreach (var property in CurrentObject.Properties)
            {
            #line default
            #line hidden
                this.Write("                .Property(x => x.");

            #line 52 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                this.Write(")\r\n");

            #line 53 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("\t\t\t\t.OrderBy(x => x.");

            #line 54 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.Domain\Metadata\MetadataTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.Properties[0].PropertyName));

            #line default
            #line hidden
            this.Write(");\r\n        }\r\n    }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }
예제 #18
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using BWF.DataServices.Core.Concrete.ChangeSets;\r\nusing BWF.DataServices.Support." +
                       "NHibernate.Abstract;\r\nusing BWF.DataServices.Support.NHibernate.Validators;\r\nusi" +
                       "ng ");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 12 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain;\r\n\r\nnamespace ");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 14 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("BatchValidator : BatchValidator<");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.GetKeyType()));

            #line default
            #line hidden
            this.Write(", ");

            #line 16 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write(">\r\n    {\r\n        protected override void SetupValidators(ChangeSetItems<");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.GetKeyType()));

            #line default
            #line hidden
            this.Write(", ");

            #line 18 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("> items)\r\n        {\r\n            validator = new ");

            #line 20 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("Validator();\r\n            deletionValidator = new ");

            #line 21 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Validators\Model\BatchValidatorTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("DeleteValidator();\r\n        }\r\n    }\r\n}");
            return(this.GenerationEnvironment.ToString());
        }
예제 #19
0
        public void MyTestMethod()
        {
            TemplateGenerator generator   = new TemplateGenerator();
            DomainDataService dataService = new DomainDataService();

            dataService.Connection = new DataServiceConnection()
            {
                InitialCatalog = "TestDB"
            };
            dataService.Name    = "Test";
            dataService.Schemas = new List <DomainSchema>()
            {
                new DomainSchema()
                {
                    SchemaName = "schema1",
                    IsDefault  = true,
                    Objects    = new List <DomainObject> {
                        new DomainObject()
                        {
                            TableName   = "table1",
                            ObjectName  = "Object1",
                            DisplayName = "Object 1",
                            Properties  = new List <DomainObjectProperty>()
                            {
                                new DomainObjectProperty()
                                {
                                    PropertyName = "Property1",
                                    ColumnName   = "prop1",
                                    PropertyType = PropertyType.Int64
                                },
                                new DomainObjectProperty()
                                {
                                    IsPartOfKey  = true,
                                    PropertyName = "Property2",
                                    ColumnName   = "prop2",
                                    PropertyType = PropertyType.String
                                },
                                new DomainObjectProperty()
                                {
                                    PropertyName = "Property3",
                                    ColumnName   = "prop3",
                                    PropertyType = PropertyType.DateTime
                                },
                                new DomainObjectProperty()
                                {
                                    PropertyName = "property4",
                                    ColumnName   = "prop4",
                                    PropertyType = PropertyType.Boolean
                                },
                                new DomainObjectProperty()
                                {
                                    PropertyName = "Property5",
                                    ColumnName   = "prop5",
                                    PropertyType = PropertyType.Decimal
                                }
                            }
                        },
                        new DomainObject()
                        {
                            TableName   = "table2",
                            ObjectName  = "Object2",
                            DisplayName = "Object 2",
                            Properties  = new List <DomainObjectProperty>()
                            {
                                new DomainObjectProperty()
                                {
                                    PropertyName = "Id",
                                    PropertyType = PropertyType.Int64,
                                    IsPartOfKey  = true
                                },
                                new DomainObjectProperty()
                                {
                                    PropertyName = "Property2",
                                    PropertyType = PropertyType.String,
                                    Length       = 64
                                },
                                new DomainObjectProperty()
                                {
                                    PropertyName = "Property2",
                                    PropertyType = PropertyType.String,
                                    IsNullable   = true,
                                    Length       = 64
                                }
                            }
                        }
                    }
                }
            };

            DataServiceSolution solution = new DataServiceSolution()
            {
                NamespacePrefix    = "Prefix",
                ServiceName        = "Test.Service",
                ServiceDisplayName = "Test Service",
                ServiceDescription = "Test Service",
                CompanyName        = "Test Co",
                DataServices       = new List <DomainDataService> {
                    dataService
                }
            };

            dataService.Solution = solution;

            var outputPath = Path.Combine(Environment.CurrentDirectory, "Test");

            generator.GenerateAllAndZip(solution, outputPath);
        }
예제 #20
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("using NHibernate.Mapping.ByCode;\r\nusing NHibernate.Mapping.ByCode.Conformist;\r\nus" +
                       "ing ");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 11 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".Domain;\r\n\r\nnamespace ");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.GetNamespace()));

            #line default
            #line hidden
            this.Write(".");

            #line 13 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(DomainDataService.Name));

            #line default
            #line hidden
            this.Write(".DataService\r\n{\r\n    public class ");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("Mapping : ClassMapping<");

            #line 15 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write(">\r\n    {\r\n        public ");

            #line 17 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.ObjectName));

            #line default
            #line hidden
            this.Write("Mapping()\r\n        {\r\n");

            #line 19 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            if (CurrentObject.HasCompositeKey())
            {
            #line default
            #line hidden
                this.Write("\t\t\tComposedId(k =>\r\n            {\r\n");

            #line 22 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                foreach (var property in CurrentObject.Properties.Where(p => p.IsPartOfKey))
                {
            #line default
            #line hidden
                    this.Write("                k.Property(x => x.");

            #line 23 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(", m => m.Column(\"");

            #line 23 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.ColumnName));

            #line default
            #line hidden
                    this.Write("\"));\r\n");

            #line 24 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("            });\r\n");

            #line 26 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            }
            else
            {
            #line default
            #line hidden
                this.Write("\t\t\tId(p => p.");

            #line 27 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(CurrentObject.GetKeyProperty()));

            #line default
            #line hidden
                this.Write(");\r\n");

            #line 28 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            }

            #line default
            #line hidden

            #line 29 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            foreach (var property in CurrentObject.Properties.Where(p => !p.IsPartOfKey))
            {
            #line default
            #line hidden

            #line 30 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                var columnName = string.IsNullOrEmpty(property.ColumnName) ? property.PropertyName : property.ColumnName;

            #line default
            #line hidden

            #line 31 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                if (string.Compare(property.PropertyName, columnName, true) == 0 && property.IsNullable)
                {
            #line default
            #line hidden
                    this.Write("\t\t\tProperty(p => p.");

            #line 32 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(");\r\n");

            #line 33 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                }
                else
                {
            #line default
            #line hidden
                    this.Write("            Property(p => p.");

            #line 34 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden
                    this.Write(", m => \r\n\t\t\t{\r\n");

            #line 36 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    if (string.Compare(property.PropertyName, columnName, true) != 0)
                    {
            #line default
            #line hidden
                        this.Write("\t\t\t\tm.Column(\"");

            #line 37 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(columnName));

            #line default
            #line hidden
                        this.Write("\");\r\n");

            #line 38 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    }

            #line default
            #line hidden

            #line 39 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    if (!property.IsNullable)
                    {
            #line default
            #line hidden
                        this.Write("\t\t\t\tm.NotNullable(true);\r\n");

            #line 41 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write("\t\t\t});\r\n");

            #line 43 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
                }

            #line default
            #line hidden

            #line 44 "C:\git\stuff\DataServiceDesigner\DataServiceDesigner.Templating\Templates\Template.DataService\Mappings\MappingTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("        }\r\n    }\r\n}\r\n");
            return(this.GenerationEnvironment.ToString());
        }