コード例 #1
0
ファイル: ConfigService.cs プロジェクト: aaronpowell/Plumber
        /// <summary>
        /// Update the stored workflow config
        /// </summary>
        /// <param name="model">Dictionary representing the indexed permissions for the node</param>
        /// <returns>Bool representing success state</returns>
        public Task <bool> UpdateNodeConfigAsync(Dictionary <int, List <UserGroupPermissionsPoco> > model)
        {
            if (null == model || !model.Any())
            {
                return(Task.FromResult(false));
            }

            KeyValuePair <int, List <UserGroupPermissionsPoco> > permission = model.First();

            repo.DeleteNodeConfig(permission.Key);

            if (!permission.Value.Any())
            {
                return(Task.FromResult(false));
            }

            foreach (UserGroupPermissionsPoco poco in permission.Value)
            {
                repo.AddPermissionForNode(poco);
            }

            // emit event
            OnConfigUpdated(new OnConfigUpdatedEventArgs
            {
                Model     = model,
                UpdatedBy = Utility.GetCurrentUser()
            });

            return(Task.FromResult(true));
        }