public SlideshowItemsModel GetSlideShowItems(int folderId, bool includeSubFolders) { //var timer = new System.Diagnostics.Stopwatch(); //timer.Start(); var slideshowItemModel = new SlideshowItemsModel(); try { using (var db = new OggleBoobleMySqlContext()) { if (includeSubFolders) { GetEntireGallery(folderId, slideshowItemModel.SlideshowItems, db); slideshowItemModel.SlideshowItems = slideshowItemModel.SlideshowItems.OrderBy(i => i.LinkId).ToList(); } else { slideshowItemModel.SlideshowItems = db.VwSlideshowItems.Where(s => s.FolderId == folderId).OrderBy(s => s.SortOrder).ToList(); } var dbCategoryFolder = db.CategoryFolders.Where(f => f.Id == folderId).FirstOrDefault(); if (dbCategoryFolder == null) { slideshowItemModel.Success = "folderId " + folderId + " not found"; return(slideshowItemModel); } slideshowItemModel.FolderName = dbCategoryFolder.FolderName; if (dbCategoryFolder.FolderType == "singleChild") { var dbCategoryFolderParent = db.CategoryFolders.Where(f => f.Id == dbCategoryFolder.Parent).FirstOrDefault(); slideshowItemModel.FolderName = dbCategoryFolderParent.FolderName; } slideshowItemModel.Success = "ok"; } } catch (Exception ex) { slideshowItemModel.Success = Helpers.ErrorDetails(ex); } //timer.Stop(); //System.Diagnostics.Debug.WriteLine("GetImageFiles took: " + timer.Elapsed); return(slideshowItemModel); }
public SlideshowItemsModel GetSlideShowItems(int folderId, bool includeSubFolders) { var timer = new System.Diagnostics.Stopwatch(); timer.Start(); slideshowItemModel = new SlideshowItemsModel(); try { using (OggleBoobleContext db = new OggleBoobleContext()) { CategoryFolder categoryFolder = db.CategoryFolders.Where(f => f.Id == folderId).FirstOrDefault(); if (categoryFolder == null) { slideshowItemModel.Success = "folderId " + folderId + " not found"; return(slideshowItemModel); } slideshowItemModel.FolderName = categoryFolder.FolderName; slideshowItemModel.RootFolder = categoryFolder.RootFolder; slideshowItemModel.SlideshowItems = db.Database.SqlQuery <vwSlideshowItem>( "select row_number() over(order by SortOrder, FolderId, LinkId) 'Index', * from OggleBooble.vwSlideshowItems " + "where FolderId = " + folderId).ToList(); if (includeSubFolders) { GetChildGalleryItems(folderId, db); } } slideshowItemModel.Success = "ok"; } catch (Exception ex) { slideshowItemModel.Success = Helpers.ErrorDetails(ex); } timer.Stop(); System.Diagnostics.Debug.WriteLine("GetImageLinks took: " + timer.Elapsed); return(slideshowItemModel); }