public static Report Create(Repository repository) { Report result = new Report() { GUID = Guid.NewGuid().ToString() }; result.FilePath = "NewReport." + Repository.SealReportFileExtension; result.Repository = repository; foreach (MetaSource source in repository.Sources) { ReportSource reportSource = result.AddSource(source); } if (result.Sources.Count == 0) result.AddSource(null); foreach (ReportSource source in result.Sources) { source.LoadRepositoryMetaSources(repository); //Remove the connection added if (source.Connections.Count > 1) source.Connections.RemoveAll(i => i.IsEditable); //And master table added for NoSQL if (source.IsNoSQL && source.MetaData.Tables.Count > 1) source.MetaData.Tables.RemoveAll(i => i.IsEditable); } //and a first model if (result.Models.Count == 0) result.AddModel(); //Add default views ReportView defaultView = result.AddModelHTMLView(); if (defaultView == null) throw new Exception(string.Format("Unable to find any view in your repository. Check that your repository folder '{0}' contains all the default sub-folders and files...", repository.RepositoryPath)); result.ViewGUID = defaultView.GUID; result.AddModelCSVView(); return result; }
public static Report Create(Repository repository) { Report result = new Report() { GUID = Guid.NewGuid().ToString() }; result.FilePath = "NewReport." + Repository.SealReportFileExtension; result.Repository = repository; foreach (MetaSource source in repository.Sources) { ReportSource reportSource = result.AddSource(source); } if (result.Sources.Count == 0) result.AddSource(null); foreach (ReportSource source in result.Sources) { source.LoadRepositoryMetaSources(repository); //Remove the connection added if (source.Connections.Count > 1) source.Connections.RemoveAll(i => i.IsEditable); //And master table added for NoSQL if (source.IsNoSQL && source.MetaData.Tables.Count > 1) source.MetaData.Tables.RemoveAll(i => i.IsEditable); } //and a first model if (result.Models.Count == 0) result.AddModel(); //Add default views ReportView defaultView = result.AddModelHTMLView(); result.ViewGUID = defaultView.GUID; result.AddModelCSVView(); return result; }