aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareCompareResult.cs
blob: b596862da0a1c6c05fb8a881f94f6dad3fb88c0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core;

namespace Tango.MachineStudio.HardwareDesigner.Comparison
{
    /// <summary>
    /// class HardwareCompareResult contains collection of HardwareComponentCollectionCompareResult
    /// </summary>
    /// <seealso cref="Tango.MachineStudio.HardwareDesigner.Comparison.IHasDifference" />
    public class HardwareCompareResult: IHasDifference
    {
        /// <summary>
        /// Gets or sets the collections.
        /// </summary>
        /// <value>
        /// The collections.
        /// </value>
        public SynchronizedObservableCollection<HardwareComponentCollectionCompareResult> Collections { get; set; }

        public bool HasDifferences
        {
            get
            {
                return Collections.Any(item => item.HasDifferences);
            }
        }

        public HardwareCompareResult()
        {
            Collections = new SynchronizedObservableCollection<HardwareComponentCollectionCompareResult>();
        }
    }
}
">SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.Critical); SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.Error); SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.General); SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.Warning); } LogManager.Categories.AddRange(SettingsManager.Default.MachineStudio.LoggingCategories); LogManager.RegisterLogger(new VSOutputLogger()); LogManager.RegisterLogger(new FileLogger()); exceptionTrapper = new WpfGlobalExceptionTrapper(); exceptionTrapper.Initialize(this); exceptionTrapper.ApplicationCrashed += ExceptionTrapper_ApplicationCrashed; } #region Global Exception Trapping /// <summary> /// Handles the ApplicationCrashed event of the ExceptionTrapper. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="ApplicationCrashedEventArgs"/> instance containing the event data.</param> private void ExceptionTrapper_ApplicationCrashed(object sender, ApplicationCrashedEventArgs e) { ExceptionWindow exWin = new ExceptionWindow(e.Exception); exWin.ShowDialog(); switch (exWin.Resolution) { case ExceptionResolutions.Ignore: e.TryRecover = true; break; case ExceptionResolutions.Restart: e.TryRecover = false; LogManager.Log("User selection was to restart the application. Restarting..."); Process.Start(Application.ResourceAssembly.Location); Environment.Exit(0); break; case ExceptionResolutions.Shutdown: e.TryRecover = false; LogManager.Log("User selection was to shutdown the application. Restarting..."); Environment.Exit(0); break; } } #endregion } }