/// <summary> /// Load data from database /// </summary> /// <param name="parameter">Not used, only for GUI binding</param> private void LoadData(object parameter) { try { // Single CM is updated, only update that one CM if (parameter is VibesCm cmChanged) { using (DataContext context = new DataContext()) { VibesCm newCm = context.HostCms.Where(c => c.Id == cmChanged.Id).Include(c => c.DeploymentProperties).Include(c => c.VibesHost).FirstOrDefault().DeepCopy(); newCm.CmStatus = CmStates.Updated; if (CmsDisplayCommOne.Contains(cmChanged)) { CmsDisplayCommOne.Remove(CmsDisplayCommOne.Single(c => c.Id == cmChanged.Id)); CmsDisplayCommOne.Add(newCm); SelectedCmCommOne = newCm; } if (CmsDisplayCommTwo.Contains(cmChanged)) { CmsDisplayCommTwo.Remove(CmsDisplayCommTwo.Single(c => c.Id == cmChanged.Id)); CmsDisplayCommTwo.Add(newCm); SelectedCmCommTwo = newCm; } return; } } // Comm1 CmsDisplayCommOne.Clear(); LoadCmForSwap(CmsDisplayCommOne, HostTypes.COMM1); SelectedCmCommOne = CmsDisplayCommOne.FirstOrDefault(); // Comm2 CmsDisplayCommTwo.Clear(); LoadCmForSwap(CmsDisplayCommTwo, HostTypes.COMM2); SelectedCmCommTwo = CmsDisplayCommTwo.FirstOrDefault(); } catch (Exception ex) { LogAndReportException(ex, "Error loading data to GUI", true); } }