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); } } }
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()); }