protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["id"] == null) Response.Redirect("default.aspx"); var id = Int32.Parse(Request.QueryString["id"]); var elementType = Request.QueryString["type"].ToString(); using (var db = new SkybraryEntities()) { if (elementType == "paragraph") { var paragraph = db.ParagraphSet .Include("Content") .Include("Content.ContentDefinitions") .Include("Content.ContentDefinitions.Definition") .Where(p => p.Id == id).First(); htmlContainer.InnerHtml = paragraph.ToHTML(); } else if (elementType == "chapter") { var chapter = db.ChapterSet .Include("Content") .Include("Content.ContentDefinitions") .Include("Content.ContentDefinitions.Definition") .Where(c => c.Id == id).First(); htmlContainer.InnerHtml = chapter.ToHTML(); } } }
public void ProcessRequest(HttpContext context) { int id = 0; if (context.Request.QueryString["id"] != null) { id = Int32.Parse(context.Request.QueryString["id"]); } using (var db = new SkybraryEntities()) { var image = db.ImageSet.Where(i => i.Id == id).FirstOrDefault(); if (image != null) { context.Response.ContentType = "image/jpeg"; context.Response.OutputStream.Write(image.Data, 0, image.Data.Length); } } }
protected void Page_Load(object sender, EventArgs e) { int id = Int32.Parse(Request.QueryString["id"]); string type = Request.QueryString["type"]; using (var db = new SkybraryEntities()) { if (type == "paragraph") { var paragraph = db.ParagraphSet.Where(p => p.Id == id).FirstOrDefault(); paragraph.ChapterReference.Load(); paragraph.Chapter.DocumentReference.Load(); var document = paragraph.Chapter.Document; var chapters = (from c in db.ChapterSet.Include("Paragraphs") orderby c.OrderInDocument where c.Document.Id == document.Id select c).ToList(); BuildDocumentTreeView(chapters, document.Title, paragraph.Id, type); } else if (type == "chapter") { var chapter = db.ChapterSet.Where(c => c.Id == id).FirstOrDefault(); chapter.DocumentReference.Load(); var document = chapter.Document; var chapters = (from c in db.ChapterSet.Include("Paragraphs") orderby c.OrderInDocument where c.Document.Id == document.Id select c).ToList(); BuildDocumentTreeView(chapters, document.Title, chapter.Id, type); } } }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["id"] == null) Response.Redirect("documents.aspx"); var documentId = Int32.Parse(Request.QueryString["id"]); var sb = new StringBuilder(); using (var db = new SkybraryEntities()) { var chapters = (from c in db.ChapterSet.Include("Paragraphs") where c.Document.Id == documentId select c).ToList(); sb.Append("<ul>"); foreach (var chapter in chapters) { sb.Append("<li>"); sb.Append("<a href='view.aspx?type=chapter&id=" + chapter.Id + "'>" + chapter.Title + "</a>"); if (chapter.Paragraphs.Count > 0) { sb.Append("<ul>"); foreach (var paragraph in chapter.Paragraphs.OrderBy(p => p.OrderInChapter)) { sb.Append("<li>"); sb.Append("<a href='view.aspx?type=paragraph&id=" + paragraph.Id + "'>" + paragraph.Number + " " + paragraph.Title + "</a>"); sb.Append("</li>"); } sb.Append("</ul>"); } sb.Append("</li>"); } sb.Append("</ul>"); } htmlContainer.InnerHtml = sb.ToString(); }
protected void Page_Load(object sender, EventArgs e) { using (var db = new SkybraryEntities()) { var gd = (from doc in db.DocumentSet group doc by doc.GroupName into gc select new { Documents = (from g in gc select g).OrderBy(g => g.OrderInGroup), Count = gc.Count(), Title = gc.Key, GroupOrder = (from g in gc select g.OrderInGroup).Min() }); var list = gd.ToList().OrderBy(d => d.GroupOrder); StringBuilder sb = new StringBuilder(); sb.Append("<ul>"); foreach (var documentsGroup in list) { sb.Append("<li>"); sb.Append(documentsGroup.Title); sb.Append("<ul>"); var gds = from g in documentsGroup.Documents group g by g.ShortName into gc select new { SubDocuments = gc, Title = gc.Key, Count = gc.Count(), Id = gc.Count() == 1 ? gc.Where(d => d.Title == gc.Key).Select(i => i.Id).Single() : -1 }; foreach (var subdocument in gds) { sb.Append("<li>"); if (subdocument.Id != -1) { int id = subdocument.Id; sb.Append( string.Format( "{0} {1} {2} {3}", subdocument.Title, ViewLink(id), IndexLink(id), DeleteLink(id))); } else sb.Append(subdocument.Title); if (subdocument.Count > 1) { sb.Append("<ul>"); foreach (var sd in subdocument.SubDocuments) { int id = sd.Id; sb.Append("<li>"); sb.Append( string.Format( "{0} {1} {2} {3}", sd.Title, ViewLink(id), IndexLink(id), DeleteLink(id))); sb.Append("</li>"); } sb.Append("</ul>"); } sb.Append("</li>"); } sb.Append("</ul>"); sb.Append("</li>"); } sb.Append("</ul>"); htmlContainer.InnerHtml = sb.ToString(); } }
public object GetTextElementContent(int id, string type) { string content = ""; using (var db = new SkybraryEntities()) { if (type == "paragraph") { var paragraph = db.ParagraphSet .Include("Chapter") .Include("Content") .Include("Content.ContentDefinitions") .Include("Content.ContentDefinitions.Definition") .Include("Content.Notes") .Include("Content.Tables") .Include("Content.Tables.TableCells") .Include("Content.Images") .Where(p => p.Id == id).First(); content = "<p><b>" + paragraph.Chapter.Title + "</b></p>" + paragraph.ToHTML(); var chapter = paragraph.Chapter; chapter.Paragraphs.Load(); int nextId = 0; int prevId = 0; string nextType = ""; string prevType = ""; var nextParagraph = (from p in chapter.Paragraphs where p.OrderInChapter > paragraph.OrderInChapter orderby p.OrderInChapter ascending select p).FirstOrDefault(); var prevParagraph = (from p in chapter.Paragraphs where p.OrderInChapter < paragraph.OrderInChapter orderby p.OrderInChapter descending select p).FirstOrDefault(); if (nextParagraph != null) { nextId = nextParagraph.Id; nextType = "paragraph"; } else { nextId = paragraph.Id; nextType = "paragraph"; } if (prevParagraph != null) { prevId = prevParagraph.Id; prevType = "paragraph"; } else { prevId = paragraph.Id; prevType = "paragraph"; } content += string.Format(@" <hr /> <table style='width:100%'> <tr> <td align='right'> <a href='javascript:ShowNext({0}, ""{1}"")'>Previous Paragraph</a> | <a href='javascript:ShowNext({2}, ""{3}"")'>Next Paragraph</a> </td> </tr> </table>", prevId, prevType, nextId, nextType); } else if (type == "chapter") { var chapter = db.ChapterSet .Include("Content") .Include("Content.ContentDefinitions") .Include("Content.ContentDefinitions.Definition") .Include("Content.Notes") .Include("Content.Tables") .Include("Content.Tables.TableCells") .Include("Content.Images") .Where(c => c.Id == id).First(); content = chapter.ToHTML(); } } return new {NextElement = 1, Content = content}; }
public object GetTextElementForDocument(int id, string type) { string content = ""; using (var db = new SkybraryEntities()) { if (type == "paragraph") { var paragraph = db.ParagraphSet .Include("Chapter") .Include("Content") .Include("Content.ContentDefinitions") .Include("Content.ContentDefinitions.Definition") .Where(p => p.Id == id).First(); content = paragraph.ToHTML(); } else if (type == "chapter") { var chapter = db.ChapterSet .Include("Content") .Include("Content.ContentDefinitions") .Include("Content.ContentDefinitions.Definition") .Where(c => c.Id == id).First(); content = chapter.ToHTML(); } } return new { NextElement = 1, Content = content }; }
private void BuildDocucumentIndex() { using (var db = new SkybraryEntities()) { var gd = (from document in db.DocumentSet group document by document.GroupName into groupedDocuments select new { Documents = (from groupedDocument in groupedDocuments select groupedDocument).OrderBy(g => g.OrderInGroup), Count = groupedDocuments.Count(), Title = groupedDocuments.Key, GroupOrder = (from groupedDocument in groupedDocuments select groupedDocument.OrderInGroup).Min() }); // grouped documents list var list = gd.ToList().OrderBy(d => d.GroupOrder); foreach (var documentsGroup in list) { RadTreeNode groupNode = new RadTreeNode { Text = documentsGroup.Title, Value = documentsGroup.Count.ToString() }; if (documentsGroup.Title == "Convention on International Civil Aviation") { groupNode.Attributes["filter"] = documentsGroup.Documents.FirstOrDefault().Id.ToString(); groupNode.ToolTip = documentsGroup.Title; rtvDocumentIndex.Nodes.Add(groupNode); } else { var gds = from groupedDocuments in documentsGroup.Documents group groupedDocuments by groupedDocuments.ShortName into gc select new { SubDocuments = gc, Title = gc.Key, Count = gc.Count(), Id = gc.Count() == 1 ? gc.Where(d => d.Title == gc.Key) .Select(i => i.Id) .Single() : -1 }; foreach (var subdocument in gds) { RadTreeNode documentNode = new RadTreeNode { Text = subdocument.Title, Value = subdocument.Id.ToString() }; if (subdocument.Count > 1) { foreach (var sd in subdocument.SubDocuments) documentNode.Attributes["filter"] += sd.Id + ";"; } else documentNode.Attributes["filter"] = subdocument.Id.ToString(); groupNode.Nodes.Add(documentNode); documentNode.ToolTip = subdocument.Title; } rtvDocumentIndex.Nodes.Add(groupNode); groupNode.Expanded = true; } } } }
public void Index(int documentId) { using (var db = new SkybraryEntities()) { var icaoDocument = db.DocumentSet.Where(d => d.Id == documentId).First(); var chapters = (from c in db.ChapterSet .Include("Content.ContentDefinitions.Definition.Content") .Include("Paragraphs.Content.ContentDefinitions.Definition.Content") where c.Document.Id == documentId select c).ToList(); foreach (var chapter in chapters) { if (chapter.HasContent()) { Field titleField = new Field("Title", chapter.Title, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS); titleField.SetBoost(1.1F); var doc = new Lucene.Net.Documents.Document(); doc.Add(new Field("IcaoId", icaoDocument.Id.ToString(), Field.Store.YES, Field.Index.UN_TOKENIZED)); doc.Add(new Field("DocumentTitle", icaoDocument.Title, Field.Store.YES, Field.Index.NO)); doc.Add(new Field("Type", "chapter", Field.Store.YES, Field.Index.NO)); doc.Add(new Field("Id", chapter.Id.ToString(), Field.Store.YES, Field.Index.NO)); doc.Add(new Field("OrderInDocument", chapter.OrderInDocument.ToString(), Field.Store.YES, Field.Index.NO)); doc.Add(titleField); doc.Add(new Field("Content", chapter.Content.ToSearchIndex(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS)); Writer.AddDocument(doc); } foreach (var paragraph in chapter.Paragraphs) { if (paragraph.HasContent()) { Field titleField = new Field("Title", paragraph.Number + " " + paragraph.Title, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS); titleField.SetBoost(1.1F); var par = new Lucene.Net.Documents.Document(); par.Add(new Field("IcaoId", icaoDocument.Id.ToString(), Field.Store.YES, Field.Index.UN_TOKENIZED)); par.Add(new Field("DocumentTitle", icaoDocument.Title, Field.Store.YES, Field.Index.NO)); par.Add(new Field("Type", "paragraph", Field.Store.YES, Field.Index.NO)); par.Add(new Field("Id", paragraph.Id.ToString(), Field.Store.YES, Field.Index.NO)); par.Add(new Field("Chapter", chapter.Title, Field.Store.YES, Field.Index.NO)); par.Add(new Field("OrderInChapter", paragraph.OrderInChapter.ToString(), Field.Store.YES, Field.Index.NO)); par.Add(titleField); par.Add(new Field("Content", paragraph.Content.ToSearchIndex(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS)); Writer.AddDocument(par); } } } Writer.Optimize(); Writer.Flush(); Writer.Close(); } }