private void CreateResources(CodeNamespace clientNamespace, string serviceClassName, IResource resource, RequestClassGenerator requestClassGenerator, ResourceContainerGenerator resourceContainerGenerator) { foreach (var res in resource.Resources.Values.Concat(resource)) { // Create the current list of used names. IEnumerable<string> usedNames = resource.Resources.Keys; // Create a class for the resource. logger.Debug("Adding Resource {0}", res.Name); var resourceGenerator = new ResourceClassGenerator( res, serviceClassName, resourceDecorators, requestClassGenerator, resourceContainerGenerator, usedNames); var generatedClass = resourceGenerator.CreateClass(); clientNamespace.Types.Add(generatedClass); } }
internal CodeTypeDeclaration GenerateSubresource(IResource subresource, string serviceClassName, IEnumerable<IResourceDecorator> allDecorators, RequestClassGenerator requestClassGenerator, ResourceContainerGenerator containerGenerator, IEnumerable<string> forbiddenWords) { // Create a new generator for this subresource var subgenerator = new ResourceClassGenerator( subresource, serviceClassName, allDecorators, requestClassGenerator, containerGenerator, forbiddenWords); // Generate and add the subresource. return subgenerator.CreateClass(); }