From 072ee0c67a5c9c45be60fa3da915a493731e5b35 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 22 Aug 2018 15:35:25 +0300 Subject: Users & Roles seems to be working... --- .../ViewModels/MainViewVM.cs | 34 ++++++++++++++-------- 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs index 7d82cbbbc..344d677ff 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs @@ -8,14 +8,16 @@ using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.Core.Commands; +using Tango.MachineStudio.Common; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.UsersAndRoles.Navigation; using Tango.MachineStudio.UsersAndRoles.Providers; using Tango.SharedUI; +using System.Data.Entity; namespace Tango.MachineStudio.UsersAndRoles.ViewModels { - public class MainViewVM : ViewModel + public class MainViewVM : StudioViewModel { private ObservablesContext _organizationsContext; private ObservablesContext _manageContext; @@ -129,8 +131,6 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels _navigation = navigation; _notification = notification; - LoadOrganizations(); - ManageOrganizationCommand = new RelayCommand(LoadSelectedOrganization, () => SelectedOrganization != null); BackToOrganizationsCommand = new RelayCommand(BackToOrganizations); ManageUserCommand = new RelayCommand(LoadSelectedUser, () => SelectedUser != null); @@ -144,6 +144,12 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels RemoveUserCommand = new RelayCommand(RemoveSelectedUser, () => SelectedUser != null); } + public override void OnApplicationReady() + { + base.OnApplicationReady(); + LoadOrganizations(); + } + private async void AddOrganization() { String name = _notification.ShowTextInput("Enter organization name", "Name"); @@ -258,15 +264,19 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels private void LoadOrganizations() { - _organizationsContext = ObservablesContext.CreateDefault(); - _organizationsContext.Configuration.LazyLoadingEnabled = false; - - _organizationsContext.Users.ToList(); - _organizationsContext.Contacts.ToList(); - _organizationsContext.Addresses.ToList(); - _organizationsContext.Machines.ToList(); - - Organizations = _organizationsContext.Organizations.ToObservableCollection(); + Task.Factory.StartNew(() => + { + _organizationsContext = ObservablesContext.CreateDefault(); + _organizationsContext.Configuration.LazyLoadingEnabled = false; + + Organizations = _organizationsContext.Organizations + .Include(x => x.Machines) + .Include(x => x.Users) + .Include(x => x.Users.Select(y => y.Contact)) + .Include(x => x.Users.Select(y => y.Address)) + .Include(x => x.Address) + .ToObservableCollection(); + }); } public void OnDropRole(Role role) -- cgit v1.3.1