コード例 #1
0
        IEnumerable <ValidSecurityTask> AvailableTasksFromDb(int userId)
        {
            //var today = _clock().Date;

            var task = new PermissionsGrantedItem {
                ObjectIntegerKey = -2, CanDelete = false, CanExecute = true, CanInsert = false, CanUpdate = true
            };
            var tasks = new List <PermissionsGrantedItem>();

            tasks.Add(task);
            var result = new List <ValidSecurityTask>();

            foreach (var t in tasks)
            {
                var tk = new ValidSecurityTask
                {
                    TaskId     = (short)t.ObjectIntegerKey,
                    CanInsert  = t.CanInsert,
                    CanUpdate  = t.CanUpdate,
                    CanDelete  = t.CanDelete,
                    CanExecute = t.CanExecute
                };
                result.Add(tk);
            }

            return(result);
        }
コード例 #2
0
        static bool HasAccess(ValidSecurityTask task, ApplicationTaskAccessLevel level)
        {
            var hasAccess = true;

            hasAccess &= (level & ApplicationTaskAccessLevel.Create) != ApplicationTaskAccessLevel.Create ||
                         task.CanInsert;
            hasAccess &= (level & ApplicationTaskAccessLevel.Modify) != ApplicationTaskAccessLevel.Modify ||
                         task.CanUpdate;
            hasAccess &= (level & ApplicationTaskAccessLevel.Delete) != ApplicationTaskAccessLevel.Delete ||
                         task.CanDelete;
            hasAccess &= (level & ApplicationTaskAccessLevel.Execute) != ApplicationTaskAccessLevel.Execute ||
                         task.CanExecute;

            return(hasAccess);
        }