Exemple #1
0
        /// <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);
            }
        }