aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RolesViewVM.cs
blob: e87aa767daabe22afd821cab7a12c13bfd545482 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL.Entities;
using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.DB.ViewModels;

namespace Tango.MachineStudio.DB.ViewModels
{
    public class RolesViewVM : DbTableViewModel<Role>
    {
        public RolesViewVM(INotificationProvider notification) : base(notification)
        {
            SelectedPermissions = new ObservableCollection<MultiComboVM<Permission>>();
        }

        private ObservableCollection<MultiComboVM<Permission>> _selectedPermissions;
        public ObservableCollection<MultiComboVM<Permission>> SelectedPermissions
        {
            get { return _selectedPermissions; }
            set { _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
                    });
                }
            }
        }
    }
}
;(); TangoIOC.Default.Register<PermissionsViewVM>(); TangoIOC.Default.Register<MachineVersionsViewVM>(); TangoIOC.Default.Register<ConfigurationsViewVM>(); TangoIOC.Default.Register<ApplicationDisplayPanelVersionsViewVM>(); TangoIOC.Default.Register<ApplicationFirmwareVersionsViewVM>(); TangoIOC.Default.Register<ApplicationOsVersionsViewVM>(); TangoIOC.Default.Register<EmbeddedFirmwareVersionsViewVM>(); TangoIOC.Default.Register<HardwareVersionsViewVM>(); TangoIOC.Default.Register<IdsPacksViewVM>(); TangoIOC.Default.Register<IdsPackFormulasViewVM>(); TangoIOC.Default.Register<DispenserTypesViewVM>(); TangoIOC.Default.Register<LiquidTypesViewVM>(); TangoIOC.Default.Register<CartridgeTypesViewVM>(); TangoIOC.Default.Register<MidTankTypesViewVM>(); TangoIOC.Default.Register<ContactsViewVM>(); TangoIOC.Default.Register<MediaMaterialsViewVM>(); TangoIOC.Default.Register<MediaPurposesViewVM>(); TangoIOC.Default.Register<MediaConditionsViewVM>(); TangoIOC.Default.Register<LinearMassDensityUnitsViewVM>(); TangoIOC.Default.Register<FiberShapesViewVM>(); TangoIOC.Default.Register<FiberSynthsViewVM>(); TangoIOC.Default.Register<RmlsViewVM>(); TangoIOC.Default.Register<LiquidTypesRmlsViewVM>(); TangoIOC.Default.Register<CctsViewVM>(); TangoIOC.Default.Register<CatsViewVM>(); TangoIOC.Default.Register<ProcessParametersTablesViewVM>(); TangoIOC.Default.Register<ProcessParametersTablesGroupsViewVM>(); TangoIOC.Default.Register<HardwareMotorTypesViewVM>(); TangoIOC.Default.Register<HardwareDancerTypesViewVM>(); TangoIOC.Default.Register<HardwarePidControlTypesViewVM>(); TangoIOC.Default.Register<SpoolTypesViewVM>(); } public static MainViewVM MainViewVM { get { return TangoIOC.Default.GetInstance<MainViewVM>(); } } public static MachinesViewVM MachinesViewVM { get { return TangoIOC.Default.GetInstance<MachinesViewVM>(); } } public static OrganizationsViewVM OrganizationsViewVM { get { return TangoIOC.Default.GetInstance<OrganizationsViewVM>(); } } public static AddressesViewVM AddressesViewVM { get { return TangoIOC.Default.GetInstance<AddressesViewVM>(); } } public static UsersViewVM UsersViewVM { get { return TangoIOC.Default.GetInstance<UsersViewVM>(); } } public static RolesViewVM RolesViewVM { get { return TangoIOC.Default.GetInstance<RolesViewVM>(); } } public static PermissionsViewVM PermissionsViewVM { get { return TangoIOC.Default.GetInstance<PermissionsViewVM>(); } } public static MachineVersionsViewVM MachineVersionsViewVM { get { return TangoIOC.Default.GetInstance<MachineVersionsViewVM>(); } } public static ConfigurationsViewVM ConfigurationsViewVM { get { return TangoIOC.Default.GetInstance<ConfigurationsViewVM>(); } } public static ApplicationDisplayPanelVersionsViewVM ApplicationDisplayPanelVersionsViewVM { get { return TangoIOC.Default.GetInstance<ApplicationDisplayPanelVersionsViewVM>(); } } public static ApplicationFirmwareVersionsViewVM ApplicationFirmwareVersionsViewVM { get { return TangoIOC.Default.GetInstance<ApplicationFirmwareVersionsViewVM>(); } } public static ApplicationOsVersionsViewVM ApplicationOsVersionsViewVM { get { return TangoIOC.Default.GetInstance<ApplicationOsVersionsViewVM>(); } } public static EmbeddedFirmwareVersionsViewVM EmbeddedFirmwareVersionsViewVM { get { return TangoIOC.Default.GetInstance<EmbeddedFirmwareVersionsViewVM>(); } } public static HardwareVersionsViewVM HardwareVersionsViewVM { get { return TangoIOC.Default.GetInstance<HardwareVersionsViewVM>(); } } public static IdsPacksViewVM IdsPacksViewVM { get { return TangoIOC.Default.GetInstance<IdsPacksViewVM>(); } } public static DispenserTypesViewVM DispenserTypesViewVM { get { return TangoIOC.Default.GetInstance<DispenserTypesViewVM>(); } } public static LiquidTypesViewVM LiquidTypesViewVM { get { return TangoIOC.Default.GetInstance<LiquidTypesViewVM>(); } } public static CartridgeTypesViewVM CartridgeTypesViewVM { get { return TangoIOC.Default.GetInstance<CartridgeTypesViewVM>(); } } public static ContactsViewVM ContactsViewVM { get { return TangoIOC.Default.GetInstance<ContactsViewVM>(); } } public static MediaMaterialsViewVM MediaMaterialsViewVM { get { return TangoIOC.Default.GetInstance<MediaMaterialsViewVM>(); } } public static MediaPurposesViewVM MediaPurposesViewVM { get { return TangoIOC.Default.GetInstance<MediaPurposesViewVM>(); } } public static MediaConditionsViewVM MediaConditionsViewVM { get { return TangoIOC.Default.GetInstance<MediaConditionsViewVM>(); } } public static LinearMassDensityUnitsViewVM LinearMassDensityUnitsViewVM { get { return TangoIOC.Default.GetInstance<LinearMassDensityUnitsViewVM>(); } } public static FiberShapesViewVM FiberShapesViewVM { get { return TangoIOC.Default.GetInstance<FiberShapesViewVM>(); } } public static FiberSynthsViewVM FiberSynthsViewVM { get { return TangoIOC.Default.GetInstance<FiberSynthsViewVM>(); } } public static RmlsViewVM RmlsViewVM { get { return TangoIOC.Default.GetInstance<RmlsViewVM>(); } } public static CctsViewVM CctsViewVM { get { return TangoIOC.Default.GetInstance<CctsViewVM>(); } } public static CatsViewVM CatsViewVM { get { return TangoIOC.Default.GetInstance<CatsViewVM>(); } } public static MidTankTypesViewVM MidTankTypesViewVM { get { return TangoIOC.Default.GetInstance<MidTankTypesViewVM>(); } } public static LiquidTypesRmlsViewVM LiquidTypesRmlViewVM { get { return TangoIOC.Default.GetInstance<LiquidTypesRmlsViewVM>(); } } public static ProcessParametersTablesViewVM ProcessParametersTablesViewVM { get { return TangoIOC.Default.GetInstance<ProcessParametersTablesViewVM>(); } } public static ProcessParametersTablesGroupsViewVM ProcessParametersTablesGroupsViewVM { get { return TangoIOC.Default.GetInstance<ProcessParametersTablesGroupsViewVM>(); } } public static IdsPackFormulasViewVM IdsPackFormulasViewVM { get { return TangoIOC.Default.GetInstance<IdsPackFormulasViewVM>(); } } public static HardwareMotorTypesViewVM HardwareMotorTypesViewVM { get { return TangoIOC.Default.GetInstance<HardwareMotorTypesViewVM>(); } } public static HardwareDancerTypesViewVM HardwareDancerTypesViewVM { get { return TangoIOC.Default.GetInstance<HardwareDancerTypesViewVM>(); } } public static HardwarePidControlTypesViewVM HardwarePidControlTypesViewVM { get { return TangoIOC.Default.GetInstance<HardwarePidControlTypesViewVM>(); } } public static SpoolTypesViewVM SpoolTypesViewVM { get { return TangoIOC.Default.GetInstance<SpoolTypesViewVM>(); } } } }