public ModuleViewportModel(string name, string imageUrl, Module module, IEnumerable <Viewport> viewports, ModuleViewportTemplate template = null)
        {
            Name.Value     = name;
            ImageUrl.Value = imageUrl;
            Module.Value   = module;
            Template       = template;

            if (viewports != null)
            {
                foreach (var viewport in viewports)
                {
                    Viewports.Add(viewport);
                }
            }
        }
Exemplo n.º 2
0
        public void UpsertViewport(string name, string moduleId, Screen screen, Viewport viewport)
        {
            var moduleViewports = new List <ModuleViewportTemplate>(_profileService.GetValue(ViewportProfileCategories.Viewports, ViewportSettingKeys.ModuleViewportTemplates, new ModuleViewportTemplate[0]));
            var mv = moduleViewports.FirstOrDefault(m => m.ModuleId == moduleId && m.TemplateName == name);

            if (mv == null)
            {
                mv = new ModuleViewportTemplate
                {
                    TemplateName = name,
                    ModuleId     = moduleId
                };

                moduleViewports.Add(mv);
            }
            else
            {
                mv.TemplateName = name;
            }

            var monitor = mv.Monitors.FirstOrDefault(m => m.MonitorId == screen.DeviceName);

            if (monitor == null)
            {
                monitor = new MonitorDefinition
                {
                    MonitorId = screen.DeviceName
                };

                mv.Monitors.Add(monitor);
            }

            monitor.DisplayWidth  = (int)screen.Bounds.Width;
            monitor.DisplayHeight = (int)screen.Bounds.Height;

            var vp = mv.Viewports.FirstOrDefault(v => v.ViewportName == viewport.ViewportName);

            viewport.MonitorId = screen.DeviceName;

            mv.Viewports.Remove(vp);
            mv.Viewports.Add(viewport);

            _profileService.SetValue(ViewportProfileCategories.Viewports, ViewportSettingKeys.ModuleViewportTemplates, moduleViewports.ToArray());
        }