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));
        }
Example #2
0
        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);
        }
Example #3
0
 public static Expression <Func <Frame, bool> > FilterByFrameType(FrameTypes?frameType)
 {
     if (frameType == null)
     {
         return(f => true);
     }
     else
     {
         return(f => f.Template.FrameType == frameType.Value);
     }
 }
Example #4
0
        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);
        }
Example #5
0
        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");
        }
Example #6
0
        // 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()));
        }
Example #10
0
 private void FillFrameTypesSelectList(FrameTypes?selected = null)
 {
     ViewBag.FrameTypes = selected.TranslatedSelectList();
 }
Example #11
0
        //
        // 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()));
        }