private void ClientOnGetHighestPermissionNameCompleted(object sender, GetPermissionNameForObjectCompletedEventArgs e)
        {
            var item = DataContext as IManagementConsoleObject;
            if (!e.Result.HasError && item != null)
            {
                var id = sender as Guid?;
                if (id != null && id == item.Id)
                {
                    item.CurrentUserPermissionLevel = PermissionLevel.Convert(e.Result.Result);
                    //todo: if the user is security manager, needs to be returned as well
                    if (item.CurrentUserPermissionLevel >= PermissionLevel.Author || App.PermissionLevel == PermissionLevel.SecurityManager)
                    {
                        NewMapButton.IsEnabled = true;
                        if (item.CurrentUserPermissionLevel >= PermissionLevel.MapManager || App.PermissionLevel == PermissionLevel.SecurityManager)
                        {
                            DeleteButton.IsEnabled = true;
                        }
                    }

                    if (App.PermissionLevel != PermissionLevel.SecurityManager)
                    {
                        item.IsLoaded = true;
                    }
                }
            }
            else
            {
                SuperMessageBoxService.ShowError("Error Occurred", "There was a problem reading Glyma permissions, please try again later");
            }
        }
Exemple #2
0
        private void ClientOnGetHighestPermissionNameCompleted(object sender, GetPermissionNameForObjectCompletedEventArgs e)
        {
            var item = DataContext as IManagementConsoleObject;

            if (!e.Result.HasError && item != null)
            {
                var id = sender as Guid?;
                if (id != null && id == item.Id)
                {
                    item.CurrentUserPermissionLevel = PermissionLevel.Convert(e.Result.Result);
                    //todo: if the user is security manager, needs to be returned as well
                    if (item.CurrentUserPermissionLevel >= PermissionLevel.Author || App.PermissionLevel == PermissionLevel.SecurityManager)
                    {
                        NewMapButton.IsEnabled = true;
                        if (item.CurrentUserPermissionLevel >= PermissionLevel.MapManager || App.PermissionLevel == PermissionLevel.SecurityManager)
                        {
                            DeleteButton.IsEnabled = true;
                        }
                    }

                    if (App.PermissionLevel != PermissionLevel.SecurityManager)
                    {
                        item.IsLoaded = true;
                    }
                }
            }
            else
            {
                SuperMessageBoxService.ShowError("Error Occurred", "There was a problem reading Glyma permissions, please try again later");
            }
        }
Exemple #3
0
        private void ClientOnGetPermissionNameForObjectCompleted(object sender, GetPermissionNameForObjectCompletedEventArgs e)
        {
            var permissionLevel = PermissionLevel.None;

            if (!e.Result.HasError && Context == sender)
            {
                var permission = PermissionLevel.Convert(e.Result.Result);
                if (permission >= PermissionLevel.Author || App.PermissionLevel == PermissionLevel.OldAuthor || App.PermissionLevel == PermissionLevel.SecurityManager)
                {
                    permissionLevel = PermissionLevel.Author;
                }
                else if (permission >= PermissionLevel.Reader || App.PermissionLevel == PermissionLevel.OldReader)
                {
                    permissionLevel = PermissionLevel.Reader;
                }
                else if (permission == PermissionLevel.None)
                {
                    SuperMessageBoxService.Show("Access Denied", "It seems that you don't have permission to access this map, please contact your system administrator for assistance.", MessageBoxType.ErrorWithNoInput);
                    return;
                }
            }
            else
            {
                SuperMessageBoxService.ShowError("Error Occurred", "There was a problem reading Glyma permissions, please try again later");
                return;
            }

            if (PermissionLoaded != null)
            {
                PermissionLoaded(this, new UserPermissionEventArgs {
                    Permission = permissionLevel
                });
            }

            ActiveModel = new Map();

            var nodeType = MapManager.NodeTypes[Context.MapObjectType];

            if (nodeType == MapManager.NodeTypes["CompendiumMapNode"])
            {
                MapManager.QueryMapByNodeCompleted.RegisterEvent(Context.Proxy, LoadNodesCompleted, Context.Proxy);
                MapManager.QueryMapByNodeAsync(Context.Proxy, 1);
            }

            VideoController.Clear();
        }
 private void ClientOnGetPermissionNameForObjectCompleted(object sender, GetPermissionNameForObjectCompletedEventArgs e)
 {
     if (e.UserState is Guid)
     {
         var guid = (Guid)e.UserState;
         if (ObjectDictionary.ContainsKey(guid) &&
             GetPermissionNameForObjectCompletedEventHandlers.ContainsKey(guid))
         {
             //back compatibility with old version
             if (App.PermissionLevel == PermissionLevel.OldReader)
             {
                 e.Result.Result = PermissionLevel.Reader.ToString();
             }
             else if (App.PermissionLevel == PermissionLevel.OldAuthor)
             {
                 e.Result.Result = PermissionLevel.Author.ToString();
             }
             GetPermissionNameForObjectCompletedEventHandlers[guid](ObjectDictionary[guid], e);
             GetPermissionNameForObjectCompletedEventHandlers.Remove(guid);
             ObjectDictionary.Remove(guid);
         }
     }
 }
 private void ClientOnGetPermissionNameForObjectCompleted(object sender, GetPermissionNameForObjectCompletedEventArgs e)
 {
     if (e.UserState is Guid)
     {
         var guid = (Guid) e.UserState;
         if (ObjectDictionary.ContainsKey(guid) &&
             GetPermissionNameForObjectCompletedEventHandlers.ContainsKey(guid))
         {
             //back compatibility with old version
             if (App.PermissionLevel == PermissionLevel.OldReader)
             {
                 e.Result.Result = PermissionLevel.Reader.ToString();
             }
             else if (App.PermissionLevel == PermissionLevel.OldAuthor)
             {
                 e.Result.Result = PermissionLevel.Author.ToString();
             }
             GetPermissionNameForObjectCompletedEventHandlers[guid](ObjectDictionary[guid], e);
             GetPermissionNameForObjectCompletedEventHandlers.Remove(guid);
             ObjectDictionary.Remove(guid);
         }
     }
     
     
 }