Ejemplo n.º 1
0
        public void RegisterCollection(ICommandBag bag)
        {
            if (baggedCommands.Contains(bag))
            {
                throw new InvalidOperationException("This bag is already loaded.");
            }

            CheckDistinct(bag.BagCommands);
            baggedCommands.Add(bag);

            try
            {
                foreach (var command in bag.BagCommands)
                {
                    LoadCommand(command);
                }
                RightsManager?.SetRightsList(AllRights);
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Failed to load command bag.");
                UnregisterCollection(bag);
                throw;
            }
        }
Ejemplo n.º 2
0
 public void UnregisterCollection(ICommandBag bag)
 {
     if (baggedCommands.Remove(bag))
     {
         foreach (var com in bag.BagCommands)
         {
             UnloadCommand(com);
         }
         RightsManager?.SetRightsList(AllRights);
     }
 }
Ejemplo n.º 3
0
        public void RegisterCollection(ICommandBag bag)
        {
            if (baggedCommands.Contains(bag))
            {
                return;
            }

            CheckDistinct(bag.BagCommands);
            baggedCommands.Add(bag);

            foreach (var command in bag.BagCommands)
            {
                var result = LoadCommand(command);
                if (!result.Ok)
                {
                    Log.Error("Failed to load command bag: " + result.Error);
                    UnregisterCollection(bag);
                    throw new InvalidOperationException(result.Error);
                }
            }
            rightsManager?.SetRightsList(AllRights);
        }