private void WireUpEvents() { _dteEvents = Dte.Events; _solutionEvents = _dteEvents.SolutionEvents; _solutionEvents.ProjectAdded += project => _templateController.ResetTemplates(); _solutionEvents.ProjectRemoved += project => _templateController.ResetTemplates(); _solutionEvents.ProjectRenamed += (project, oldName) => _templateController.ResetTemplates(); _solutionMonitor.AdviseTrackProjectDocumentsEvents(); _solutionMonitor.TemplateAdded += (sender, args) => _templateController.ResetTemplates(); _solutionMonitor.TemplateDeleted += (sender, args) => _templateController.ResetTemplates(); _solutionMonitor.TemplateRenamed += (sender, args) => _templateController.ResetTemplates(); _solutionMonitor.CsFileAdded += (sender, args) => _generationController.OnCsFileChanged(args.Paths); _solutionMonitor.CsFileDeleted += (sender, args) => _generationController.OnCsFileDeleted(args.Paths); _solutionMonitor.CsFileRenamed += (sender, args) => _generationController.OnCsFileRenamed(args.Paths, args.OldPaths); _documentEvents = _dteEvents.DocumentEvents; _documentEvents.DocumentSaved += document => { if (document.FullName.EndsWith(Constants.CsExtension, StringComparison.InvariantCultureIgnoreCase)) { _generationController.OnCsFileChanged(new[] { document.FullName }); } else if (document.FullName.EndsWith(Constants.TemplateExtension, StringComparison.InvariantCultureIgnoreCase)) { _generationController.OnTemplateChanged(document.FullName); } }; RenderTemplate.Instance.RenderTemplateClicked += (sender, args) => _generationController.OnTemplateChanged(args.Path, true); }
private void WireupEvents() { solutionMonitor.ProjectAdded += (sender, args) => templateController.ResetTemplates(); solutionMonitor.ProjectRemoved += (sender, args) => templateController.ResetTemplates(); solutionMonitor.TemplateAdded += (sender, args) => templateController.ResetTemplates(); solutionMonitor.TemplateDeleted += (sender, args) => templateController.ResetTemplates(); solutionMonitor.TemplateRenamed += (sender, args) => templateController.ResetTemplates(); solutionMonitor.TemplateChanged += (sender, args) => generationController.OnTemplateChanged(args.Path); solutionMonitor.CsFileAdded += (sender, args) => generationController.OnCsFileChanged(args.Paths); solutionMonitor.CsFileChanged += (sender, args) => generationController.OnCsFileChanged(args.Paths); solutionMonitor.CsFileDeleted += (sender, args) => generationController.OnCsFileDeleted(args.Paths); solutionMonitor.CsFileRenamed += (sender, args) => generationController.OnCsFileRenamed(args.Paths, args.OldPaths); RenderTemplate.Instance.RenderTemplateClicked += (sender, args) => generationController.OnTemplateChanged(args.Path, true); }
public void Expect_GenerateTemplate() { var eventQueue = Substitute.For <IEventQueue>(); eventQueue.When(m => m.Enqueue(Arg.Any <Action>())).Do(c => { Trace.WriteLine("Enqueue Called"); c.Arg <Action>()(); }); var templateController = new TemplateController(dte, item => new TemplateSubstitute(item)); var generationController = new GenerationController(dte, metadataProvider, templateController, eventQueue); var type = typeof(WebApiController); var nsParts = type.FullName.Remove(0, 11).Split('.'); var path = string.Join(@"\", nsParts); var templateFilename = Path.Combine(SolutionDirectory, path + ".tstemplate"); generationController.OnTemplateChanged(templateFilename); }