コード例 #1
0
ファイル: TemplateStep.cs プロジェクト: JoeHosman/sharpDox
        private void CreateFieldFiles()
        {
            foreach (var nameSpace in _repository.GetAllNamespaces())
            {
                foreach (var type in nameSpace.Types)
                {
                    var sdType = _repository.GetTypeByIdentifier(type.Identifier);

                    var fieldsIndexHtmlFile = Path.Combine(_tmpFilepath, sdType.Guid + "-Fields.html");
                    var fieldsTemplate = new FieldsTemplate { ProjectInfo = _repository.ProjectInfo, SDNamespace = nameSpace, SDType = sdType, CurrentLanguage = _currentLanguage, Strings = _strings };
                    File.WriteAllText(fieldsIndexHtmlFile, fieldsTemplate.TransformText());

                    foreach (var field in sdType.Fields)
                    {
                        var fieldHtmlFile = Path.Combine(_tmpFilepath, field.Guid + ".html");
                        var fieldTemplate = new FieldTemplate { ProjectInfo = _repository.ProjectInfo, SDNamespace = nameSpace, SDField = field, SDType = sdType, CurrentLanguage = _currentLanguage, Strings = _strings };
                        File.WriteAllText(fieldHtmlFile, fieldTemplate.TransformText());
                    }
                }
            }
        }
コード例 #2
0
        private void CreateApiIndexFiles()
        {
            foreach(var solution in StepInput.SDProject.Solutions.Values)
            {
                var sdRepository = solution.Repositories.SingleOrDefault(r => r.TargetFx.Identifier == StepInput.CurrentTargetFx.Identifier);
                if(sdRepository != null)
                {
                    foreach (var sdNamespace in sdRepository.GetAllNamespaces())
                    {
                        ExecuteOnStepMessage(string.Format("{0}: {1}", StepInput.ChmStrings.CreateIndexFilesFor, sdNamespace.Fullname));

                        var namespaceHtmlFile = Path.Combine(StepInput.TmpPath, sdNamespace.Guid + ".html");
                        var template = new NamespaceTemplate { SDNamespace = sdNamespace };
                        File.WriteAllText(namespaceHtmlFile, template.TransformText());

                        foreach (var sdType in sdNamespace.Types)
                        {
                            var fieldsIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Fields.html");
                            var fieldsTemplate = new FieldsTemplate { SDType = sdType };
                            File.WriteAllText(fieldsIndexHtmlFile, fieldsTemplate.TransformText());

                            var eveIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Events.html");
                            var eventsTemplate = new EventsTemplate { SDType = sdType };
                            File.WriteAllText(eveIndexHtmlFile, eventsTemplate.TransformText());

                            var propertiesIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Properties.html");
                            var propertiesTemplate = new PropertiesTemplate { SDType = sdType };
                            File.WriteAllText(propertiesIndexHtmlFile, propertiesTemplate.TransformText());

                            var constructorsIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Constructors.html");
                            var constructorsTemplate = new ConstructorsTemplate { SDType = sdType };
                            File.WriteAllText(constructorsIndexHtmlFile, constructorsTemplate.TransformText());

                            var methodsIndexHtmlFile = Path.Combine(StepInput.TmpPath, sdType.Guid + "-Methods.html");
                            var methodsTemplate = new MethodsTemplate { SDType = sdType };
                            File.WriteAllText(methodsIndexHtmlFile, methodsTemplate.TransformText());
                        }
                    }
                }
            }
        }