aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Views/UserView.xaml
blob: 0858d7e08da7b8cf02006368ee94caf546a3e83e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<UserControl x:Class="Tango.MachineStudio.UsersAndRoles.Views.UserView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:entities="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
             xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
             xmlns:pass="clr-namespace:Tango.SharedUI.Helpers;assembly=Tango.SharedUI"
             xmlns:local="clr-namespace:Tango.MachineStudio.UsersAndRoles.Views"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300" d:DataContext="{d:DesignInstance Type=entities:User, IsDesignTimeCreatable=False}">
    
    
    
    <Grid>
        <controls:TableGrid>
            <TextBlock Text="EMAIL"></TextBlock>
            <TextBox Text="{Binding Email}"></TextBox>
            <TextBlock Text="PASSWORD"></TextBlock>
            <PasswordBox MaxLength="30" pass:PasswordHelper.Attach="True" pass:PasswordHelper.Password="{Binding PasswordGateWay,Mode=TwoWay}"></PasswordBox>
        </controls:TableGrid>
    </Grid>
</UserControl>
/span> 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 }); } } } } }