Beispiel #1
0
 /// <summary>
 /// Gets the target name based on the parameters received.
 /// </summary>
 /// <param name="targetType">Target type.</param>
 /// <param name="targetProject">Target project.</param>
 /// <param name="targetProjectFolder">Target project folder (can be null if target type is project).</param>
 /// <returns></returns>
 private static string GetTargetName(TargetType targetType,
                                     Project targetProject, ProjectItem targetProjectFolder)
 {
     if (targetType == TargetType.Project)
     {
         return(targetProject.Name);
     }
     else
     {
         return(ConfigurationHelper.GetTargetName(targetProjectFolder));
     }
 }
Beispiel #2
0
 /// <summary>
 /// Gets the target name of a project folder.
 /// </summary>
 /// <param name="projectFolder">Project folder from where to obtain the target name.</param>
 /// <returns></returns>
 private static string GetTargetName(ProjectItem projectFolder)
 {
     if (projectFolder.Collection.Parent is ProjectItem)
     {
         return(ConfigurationHelper.GetTargetName(projectFolder.Collection.Parent as ProjectItem)
                + Resources.ProjectFolderLevelSeparator
                + projectFolder.Name);
     }
     else
     {
         return(projectFolder.Name);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Exports the User Configuration to the specified file path.
        /// </summary>
        /// <param name="generatorParams">GeneratorManagerParams containing necessary information.</param>
        /// <param name="filePath">File path to export.</param>
        public static void Export(GeneratorManagerParams generatorParams, string filePath)
        {
            if (filePath.EndsWith(Resources.GenConfigFileExtension) == false)
            {
                filePath += Resources.GenConfigFileExtension;
            }

            var exportDoc = new XDocument();

            exportDoc.Add(
                new XElement(ConfigNodes.Root,
                             new XElement(ConfigNodes.GenerateAssemblers, generatorParams.GenerateAssemblers),
                             new XElement(ConfigNodes.DTOsConfig,
                                          new XElement(ConfigNodes.Target,
                                                       new XAttribute(ConfigNodes.TargetAttrProject, generatorParams.DTOsParams.TargetProject.Name),
                                                       new XAttribute(ConfigNodes.TargetAttrName, ConfigurationHelper.GetTargetName(generatorParams.DTOsParams)),
                                                       new XAttribute(ConfigNodes.TargetAttrType, generatorParams.DTOsParams.TargetType.ToString())),
                                          new XElement(ConfigNodes.EDMXName, generatorParams.DTOsParams.EDMXProjectItem.Name),
                                          new XElement(ConfigNodes.GenerateFilter,
                                                       new XAttribute(ConfigNodes.GenerateFilterAttrAll, generatorParams.DTOsParams.GenerateAllTypes),
                                                       new XAttribute(ConfigNodes.GenerateFilterAttrComplex, generatorParams.DTOsParams.GenerateAllComplexTypes),
                                                       new XAttribute(ConfigNodes.GenerateFilterAttrEntities, generatorParams.DTOsParams.GenerateAllEntityTypes)),
                                          new XElement(ConfigNodes.SourceFileHeaderComment, generatorParams.DTOsParams.SourceFileHeaderComment),
                                          new XElement(ConfigNodes.UseProjectDefaultNamespace, generatorParams.DTOsParams.UseProjectDefaultNamespace),
                                          new XElement(ConfigNodes.SourceNamespace, generatorParams.DTOsParams.SourceNamespace),
                                          new XElement(ConfigNodes.DTOsServiceReady, generatorParams.DTOsParams.DTOsServiceReady),
                                          new XElement(ConfigNodes.SourceFileGenerationType, generatorParams.DTOsParams.SourceFileGenerationType.ToString()),
                                          new XElement(ConfigNodes.SourceFileName, generatorParams.DTOsParams.SourceFileName),
                                          new XElement(ConfigNodes.AssociationType, generatorParams.DTOsParams.AssociationType.ToString()),
                                          new XElement(ConfigNodes.GenerateDTOConstructors, generatorParams.DTOsParams.GenerateDTOConstructors),
                                          new XElement(ConfigNodes.ClassIdentifier,
                                                       new XAttribute(ConfigNodes.ClassIdentifierAttrUse, generatorParams.DTOsParams.ClassIdentifierUse.ToString()),
                                                       new XAttribute(ConfigNodes.ClassIdentifierAttrWord, generatorParams.DTOsParams.ClassIdentifierWord)))));

            XElement generateFilterNode = exportDoc.Descendants(ConfigNodes.GenerateFilter).First();

            foreach (string typeName in generatorParams.DTOsParams.TypesToGenerateFilter)
            {
                generateFilterNode.Add(new XElement(ConfigNodes.GenerateType,
                                                    new XAttribute(ConfigNodes.GenerateTypeAttrName, typeName))
                                       );
            }

            if (generatorParams.GenerateAssemblers)
            {
                exportDoc.Descendants(ConfigNodes.Root).First().Add(
                    new XElement(ConfigNodes.AssemblersConfig,
                                 new XElement(ConfigNodes.Target,
                                              new XAttribute(ConfigNodes.TargetAttrProject, generatorParams.AssemblersParams.TargetProject.Name),
                                              new XAttribute(ConfigNodes.TargetAttrName, ConfigurationHelper.GetTargetName(generatorParams.AssemblersParams)),
                                              new XAttribute(ConfigNodes.TargetAttrType, generatorParams.AssemblersParams.TargetType.ToString())),
                                 new XElement(ConfigNodes.SourceFileHeaderComment, generatorParams.AssemblersParams.SourceFileHeaderComment),
                                 new XElement(ConfigNodes.UseProjectDefaultNamespace, generatorParams.AssemblersParams.UseProjectDefaultNamespace),
                                 new XElement(ConfigNodes.SourceNamespace, generatorParams.AssemblersParams.SourceNamespace),
                                 new XElement(ConfigNodes.SourceFileGenerationType, generatorParams.AssemblersParams.SourceFileGenerationType.ToString()),
                                 new XElement(ConfigNodes.SourceFileName, generatorParams.AssemblersParams.SourceFileName),
                                 new XElement(ConfigNodes.IsServiceReady, generatorParams.AssemblersParams.IsServiceReady),
                                 new XElement(ConfigNodes.ClassIdentifier,
                                              new XAttribute(ConfigNodes.ClassIdentifierAttrUse, generatorParams.AssemblersParams.ClassIdentifierUse.ToString()),
                                              new XAttribute(ConfigNodes.ClassIdentifierAttrWord, generatorParams.AssemblersParams.ClassIdentifierWord))));
            }

            exportDoc.Save(filePath);
        }
Beispiel #4
0
 /// <summary>
 /// Gets target name of <see cref="GenerateAssemblersParams"/>.
 /// </summary>
 /// <param name="assemblersParams">Assembler parameters from where to obtain the target name.</param>
 /// <returns></returns>
 private static string GetTargetName(GenerateAssemblersParams assemblersParams)
 {
     return(ConfigurationHelper.GetTargetName(assemblersParams.TargetType,
                                              assemblersParams.TargetProject, assemblersParams.TargetProjectFolder));
 }
Beispiel #5
0
 /// <summary>
 /// Gets target name of <see cref="GenerateDTOsParams"/>.
 /// </summary>
 /// <param name="dtosParams">DTO parameters from where to obtain the target name.</param>
 /// <returns></returns>
 private static string GetTargetName(GenerateDTOsParams dtosParams)
 {
     return(ConfigurationHelper.GetTargetName(dtosParams.TargetType,
                                              dtosParams.TargetProject, dtosParams.TargetProjectFolder));
 }