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>();
        }
    }
}
> _selectedPermissions = value; RaisePropertyChangedAuto(); } } protected override void OnEdit() { SelectedPermissions = Adapter.Permissions.Select(x => new MultiComboVM<Permission>(x, () => RaisePropertyChanged(nameof(SelectedPermissions)))).ToObservableCollection(); foreach (var permission in SelectedPermissions) { if (SelectedEntity.RolesPermissions.ToList().Exists(x => x.Permission == permission.Entity)) { permission.IsSelected = true; } } base.OnEdit(); } protected override void OnAdd() { SelectedPermissions = Adapter.Permissions.Select(x => new MultiComboVM<Permission>(x, () => RaisePropertyChanged(nameof(SelectedPermissions)))).ToObservableCollection(); base.OnAdd(); } protected override void OnBeforeEntitySave(DialogOpenMode mode, Role role) { base.OnBeforeEntitySave(mode, role); Adapter.Context.RolesPermissions.RemoveRange(role.RolesPermissions); foreach (var permission in SelectedPermissions) { if (permission.IsSelected) { role.RolesPermissions.Add(new RolesPermission() { Permission = permission.Entity, Role = role, PermissionGuid = permission.Entity.Guid, RoleGuid = role.Guid }); } } } } }