public bool SaveDiagram(Diagram diagram) { _loadedDiagrams.Set(diagram); _createdDiagrams.Delete(diagram.Id); var diagramRepo = _dbContext.RepositoryFactory.Get <IDiagramRepository>(); diagramRepo.SaveDiagram(diagram); var painter = new DiagramPainter(); var diagramImage = painter.CreateImage(diagram); var diagramImageStream = new MemoryStream(); diagramImage.Save(diagramImageStream, System.Drawing.Imaging.ImageFormat.Jpeg); var diagramImageContent = Convert.ToBase64String(diagramImageStream.ToArray()); var diagramThumbnailRepo = _dbContext.RepositoryFactory.Get <IDiagramThumbnailRepository>(); var diagramThumbnail = new DiagramThumbnail { DiagramId = diagram.Id, Content = diagramImageContent }; diagramThumbnailRepo.Save(diagramThumbnail); var updateDate = DateTime.UtcNow; var diagramMetaRepo = _dbContext.RepositoryFactory.Get <IDiagramMetaRepository>(); var meta = diagramMetaRepo.GetDiagramMeta(diagram) ?? new DiagramMeta { DiagramId = diagram.Id, CreateDate = updateDate }; meta.Title = diagram.Title; var titleRegex = new Regex(@"^(.*)\s(\d+)?$"); var titleRegexMatch = titleRegex.Match(diagram.Title); meta.TitleLetter = titleRegexMatch.Success ? titleRegexMatch.Groups[1].Value : diagram.Title; meta.TitleNumber = titleRegexMatch.Success ? int.Parse(titleRegexMatch.Groups[2].Value) : 0; meta.UpdateDate = updateDate; diagramMetaRepo.SaveMeta(meta); return(true); }
public void Save(DiagramThumbnail thumbnail) { Engine.GetCollection <DiagramThumbnail>().InsertOrUpdate(thumbnail); }
public void Save(DiagramThumbnail thumbnail) { DatabaseFile.GetCollection <DiagramThumbnail>().Upsert(thumbnail); }