public ActionResult ForFrameType(int canvasId = 0, int panelId = 0, FrameTypes?frameType = null) { if (canvasId == 0) { Canvas canvas = db.Canvases .OrderBy(c => c.Name) .FirstOrDefault() ; if (canvas != null) { canvasId = canvas.CanvasId; } } FrameSelector selector = new FrameSelector() { CanvasId = canvasId, PanelId = panelId, FrameType = frameType.HasValue ? frameType.Value : 0, }; FillCanvasesSelectList(canvasId); FillPanelsSelectList(panelId, canvasId); FillFrameTypeSelectList(frameType); return(View(selector)); }
public static int GetDefaultCacheInterval(DisplayMonkeyEntities _db, FrameTypes?_frameType) { int ret = 0; Keys key = Keys.Count; switch (_frameType) { //case FrameTypes.Clock: //case FrameTypes.Html: //case FrameTypes.Memo: case FrameTypes.Outlook: key = Keys.DefaultCacheIntervalOutlook; break; case FrameTypes.Picture: key = Keys.DefaultCacheIntervalPicture; break; //case FrameTypes.Powerbi: case FrameTypes.Report: key = Keys.DefaultCacheIntervalReport; break; case FrameTypes.Video: key = Keys.DefaultCacheIntervalVideo; break; case FrameTypes.Weather: key = Keys.DefaultCacheIntervalWeather; break; //case FrameTypes.YouTube: default: return(ret); } Setting defCacheInt = Setting.GetSetting(_db, key); if (defCacheInt != null) { ret = defCacheInt.IntValuePositive; } return(ret); }
public static Expression <Func <Frame, bool> > FilterByFrameType(FrameTypes?frameType) { if (frameType == null) { return(f => true); } else { return(f => f.Template.FrameType == frameType.Value); } }
public static int GetDefaultTemplate(DisplayMonkeyEntities _db, FrameTypes?_frameType) { int ret = 0; Keys key = Keys.Count; switch (_frameType) { case FrameTypes.Clock: key = Keys.DefaultTemplateClock; break; case FrameTypes.Html: key = Keys.DefaultTemplateHtml; break; case FrameTypes.Memo: key = Keys.DefaultTemplateMemo; break; case FrameTypes.Outlook: key = Keys.DefaultTemplateOutlook; break; case FrameTypes.Picture: key = Keys.DefaultTemplatePicture; break; case FrameTypes.Powerbi: key = Keys.DefaultTemplatePowerbi; break; case FrameTypes.Report: key = Keys.DefaultTemplateReport; break; case FrameTypes.Video: key = Keys.DefaultTemplateVideo; break; case FrameTypes.Weather: key = Keys.DefaultTemplateWeather; break; case FrameTypes.YouTube: key = Keys.DefaultTemplateYouTube; break; default: return(ret); } Setting defTemplate = GetSetting(_db, key); if (defTemplate != null) { string templateName = defTemplate.StringValue; ret = _db.Templates .Where(t => t.Name == templateName && t.FrameType == _frameType) .FirstOrDefault() .TemplateId ; } return(ret); }
public static string IconFromFrameType(FrameTypes?_frameType) { if (_frameType.HasValue) { switch (_frameType.Value) { case FrameTypes.Clock: return("~/images/clock.png"); case FrameTypes.Html: return("~/images/html.png"); //case FrameTypes.News: // return "~/images/news.png"; case FrameTypes.Memo: return("~/images/memo.png"); case FrameTypes.Outlook: return("~/images/calendar.png"); case FrameTypes.Picture: return("~/images/image.png"); case FrameTypes.Powerbi: return("~/images/powerbi.png"); case FrameTypes.Report: return("~/images/ssrs.png"); case FrameTypes.Video: return("~/images/video_thmb.png"); case FrameTypes.Weather: return("~/images/weather.png"); case FrameTypes.YouTube: return("~/images/youtube.png"); } } return("~/images/unknown.png"); }
// GET: /Template/ public ActionResult Index(FrameTypes?frameType) { IQueryable <Template> list = db.Templates; if (frameType.HasValue) { list = list .Where(s => s.FrameType == frameType.Value) ; } list = list .OrderBy(t => t.FrameType) .ThenBy(t => t.Name) ; FillFrameTypesSelectList(); return(View(list.ToList())); }
// // GET: /Frame/Create public ActionResult Create(int canvasId = 0, int panelId = 0, FrameTypes?frameType = null) { Panel panel = null; if (panelId != 0) { panel = db.Panels .Include(p => p.Canvas) .FirstOrDefault(p => p.PanelId == panelId) ; if (panel == null) { panelId = 0; } } if (frameType == null || panel == null) { if (canvasId == 0 && panel != null) { canvasId = panel.CanvasId; } return(RedirectToAction("ForFrameType", new { canvasId = canvasId, panelId = panelId, frameType = frameType })); } TempData[SelectorFrameKey] = new Frame() { Panel = panel, PanelId = panelId, CacheInterval = 0, }; return(RedirectToAction("Create", frameType.ToString())); }
private void FillFrameTypeSelectList(FrameTypes?selected = null) { ViewBag.FrameType = selected.TranslatedSelectList(valueAsText: true); }
// // GET: /Frame/ public ActionResult Index(int canvasId = 0, int panelId = 0, FrameTypes?frameType = null, int?timingOption = null /*, int page = 1*/) { //if (page <= 0) page = 1; IQueryable <Frame> list = db.Frames .Include(f => f.Panel) .Include(f => f.Panel.Canvas) ; if (canvasId > 0) { list = list.Where(f => f.Panel.CanvasId == canvasId); } if (panelId > 0) { list = list.Where(f => f.PanelId == panelId); } if (frameType != null) { list = list.Where(Frame.FilterByFrameType(frameType)); } DateTime dt = DateTime.Now; if (timingOption != null) { switch ((Frame.TimingOptions)timingOption) { case Frame.TimingOptions.TimingOption_Pending: list = list.Where(f => dt < f.BeginsOn); break; case Frame.TimingOptions.TimingOption_Current: list = list.Where(f => (f.BeginsOn == null || f.BeginsOn <= dt) && (f.EndsOn == null || dt < f.EndsOn)); break; case Frame.TimingOptions.TimingOption_Expired: list = list.Where(f => f.EndsOn <= dt); break; } } //ViewBag.TotalPages = (int)Math.Ceiling((float)list.Count() / 20.0); //ViewBag.CurrentPage = page; list = list //.Skip((page - 1) * 20) //.Take(20) .OrderBy(f => f.Panel.Canvas.Name) .ThenBy(f => f.Panel.Name) .ThenBy(f => f.Sort == null ? (float)f.FrameId : (float)f.Sort) .ThenBy(f => f.FrameId) ; FillCanvasesSelectList(canvasId); FillPanelsSelectList(panelId, canvasId); FillFrameTypeSelectList(frameType); FillTimingOptionsSelectList((Frame.TimingOptions?)timingOption); return(View(list.ToList())); }
private void FillFrameTypesSelectList(FrameTypes?selected = null) { ViewBag.FrameTypes = selected.TranslatedSelectList(); }
// // GET: /Frame/ public ActionResult Index(int canvasId = 0, int panelId = 0, int locationId = 0, FrameTypes?frameType = null, int?timingOption = null /*, int page = 1*/) { //if (page <= 0) page = 1; IQueryable <Frame> list = db.Frames .Include(f => f.Panel) .Include(f => f.Panel.Canvas) .Include(f => f.Locations) ; if (canvasId > 0) { list = list.Where(f => f.Panel.CanvasId == canvasId); } if (panelId > 0) { list = list.Where(f => f.PanelId == panelId); } if (locationId > 0) { List <int> locations = new List <int>(); int?id = locationId; while (id != null) { locations.Add(id.Value); Location location = db.Locations.Where(l => l.LocationId == id).FirstOrDefault(); if (location != null && location.AreaId.HasValue) { id = location.AreaId.Value; } else { id = null; } } list = list.Where(f => f.Locations.Select(l => l.LocationId).Intersect(locations).Any() || f.Locations.Count() == 0); } if (frameType != null) { list = list.Where(Frame.FilterByFrameType(frameType)); } DateTime dt = DateTime.Now; if (timingOption != null) { switch ((Frame.TimingOptions)timingOption) { case Frame.TimingOptions.TimingOption_Pending: list = list.Where(f => dt < f.BeginsOn); break; case Frame.TimingOptions.TimingOption_Current: list = list.Where(f => (f.BeginsOn == null || f.BeginsOn <= dt) && (f.EndsOn == null || dt < f.EndsOn)); break; case Frame.TimingOptions.TimingOption_Expired: list = list.Where(f => f.EndsOn <= dt); break; } } //ViewBag.TotalPages = (int)Math.Ceiling((float)list.Count() / 20.0); //ViewBag.CurrentPage = page; list = list //.Skip((page - 1) * 20) //.Take(20) .OrderBy(f => f.Panel.Canvas.Name) .ThenBy(f => f.Panel.Name) .ThenBy(f => f.Sort == null ? (float)f.FrameId : (float)f.Sort) .ThenBy(f => f.FrameId) ; FillCanvasesSelectList(canvasId); FillPanelsSelectList(panelId, canvasId); FillFrameTypeSelectList(frameType); FillTimingOptionsSelectList((Frame.TimingOptions?)timingOption); FillLocationsSelectList(locationId); return(View(list.ToList())); }