/// <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)); } }
/// <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); } }
/// <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); }
/// <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)); }
/// <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)); }