public HighlightModel InsertHighlight(HighlightModel highlight) { try { HighlightModel old = null; using (var db = new AnnotateWebPageDBEntities()) { old = GetHighlight(highlight.id); } if (old == null) { // generate new id using (var db = new AnnotateWebPageDBEntities()) { //var nextId = db.Highlight.ToList().Max(hg => hg.id) + 1; //highlight.id = nextId; Highlight newHighlight = db.Highlight.Add(new Highlight() { user_id = highlight.user_id, web_page = highlight.web_page, start = highlight.start, end = highlight.end, color = highlight.color }); db.SaveChanges(); highlight.id = newHighlight.id; } return(highlight); } else //update { Highlight updateHighlight = null; using (var db = new AnnotateWebPageDBEntities()) { updateHighlight = db.Highlight.Where(s => s.id == highlight.id).FirstOrDefault <Highlight>(); } if (updateHighlight != null) { updateHighlight.user_id = highlight.user_id; updateHighlight.web_page = highlight.web_page; updateHighlight.start = highlight.start; updateHighlight.end = highlight.end; updateHighlight.color = highlight.color; } using (var db = new AnnotateWebPageDBEntities()) { db.Entry(updateHighlight).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } return(highlight); } } catch (Exception e) { return(null); } }
public IHttpActionResult Post([FromBody] HighlightModel Highlight) { //if (Highlight.id == 0) //insert //{ var insertedHighlight = highlightModels.InsertHighlight(Highlight); if (insertedHighlight != null) { return(Created( Url.Link("GetHighlightUrl", new { id = insertedHighlight.id }), insertedHighlight)); } else { return(BadRequest()); } //} //return BadRequest(); }
public virtual void GoToElement( HighlightModel.IHighlightableElement element ) { LastDirective = new ScrollingDirective( ActionType.MoveNext, ActionTime.Immediate ); Walker.Current.EndHighlight( new EndScrollingInfo( Timer.Interval.Ticks, PreviousElement, element ), LastDirective ); Walker.GoTo( element ); }
public virtual void ElementUnregistered( HighlightModel.IHighlightableElement element ) { ResetAutoPause(); if( Walker.Current == element || Walker.Parents.Contains( element ) ) { GoToElement( this ); } }
public void GoToElement( HighlightModel.IHighlightableElement element ) { _current.GoToElement( element ); }
public void ElementUnregistered( HighlightModel.IHighlightableElement element ) { _current.ElementUnregistered( element ); }
public IActionResult Index(string path) { const string root = @"C:\Users\Michal Piatkowski\Downloads\"; if (path == null) { path = root; } else { path = Path.Combine(root, path); } path = path.Replace('\\', '/'); //var archiveResult = BuildArchiveView(path); //if (archiveResult.IsValid) //{ // if (archiveResult.HasFile) // { // // serve file from inside the zip // string fullName = archiveResult.File.FullName; // var entry = archiveResult.Archive[fullName]; // HttpContext.Response.RegisterForDispose(archiveResult.Archive); // // if (archiveResult.File.Length <= HIGHLIGHT_SIZE_THRESHOLD && // HighlightTypeMap.TryGetLanguage(Path.GetExtension(fullName), out var lang)) // { // var highlightStream = entry.OpenReader(); // HttpContext.Response.RegisterForDispose(highlightStream); // // var highlight = new HighlightModel(highlightStream, lang); // return View("HighlightIndex", highlight); // } // // string mime = MimeTypeMap.GetMime(fullName); // if (IsTextMime(mime)) // { // using (var stream = entry.OpenReader()) // mime = UpdateCharset(stream, mime); // } // // var mainStream = entry.OpenReader(); // HttpContext.Response.RegisterForDispose(mainStream); // return File(mainStream, mime, enableRangeProcessing: false); // } // // if(archiveResult.HasModel) // // serve directory from inside the zip // return View(archiveResult.Model); // // return NotFound(); //} // serve file if (FileIO.Exists(path)) { // try to enter a zip archive string zipPath = "testzip.zip"; //root + @"FTB+Presents+Direwolf20+1.12-1.12.2-2.3.0-Server.zip"; if (ZipFile.IsZipFile(zipPath)) { var builder = new ArchiveTreeBuilder(); var archive = ZipFile.Read(zipPath).ToArchive(); var archiveView = builder.BuildTree(archive, null); // (p) => Console.WriteLine("Progress: " + Math.Round(p * 100, 1)) archive.Dispose(); Console.WriteLine(Log(archiveView)); } Stream stream = FileIO.OpenRead(path); string extension = Path.GetExtension(path); if (stream.Length <= HIGHLIGHT_SIZE_THRESHOLD && HighlightTypeMap.TryGetLanguage(extension, out var lang)) { var highlight = new HighlightModel(stream, lang); return(View("HighlightIndex", highlight)); } string mime = MimeTypeMap.GetMime(extension); if (IsTextMime(mime)) { mime = UpdateCharset(stream, mime); } stream.Seek(0, SeekOrigin.Begin); return(File(stream, mime, enableRangeProcessing: true)); } // serve directory var dir = new DirectoryInfo(path); if (!dir.Exists) { return(NotFound()); } var dirModel = BuildDirectoryModel(dir); return(View(dirModel)); }
public virtual void GoTo( HighlightModel.IHighlightableElement element ) { if( element == null ) throw new ArgumentNullException( "element" ); Parents.Clear(); if( element != Root ) Parents.Push( Root ); Current = element; }