Example #1
0
        public void RemovePermissions(Roles role, PermissionRule[] permissions)
        {
            AutoRentEntities context     = new AutoRentEntities();
            DbTransaction    transaction = null;

            try
            {
                context.Connection.Open();
                transaction = context.Connection.BeginTransaction();

                foreach (PermissionRule perm in permissions)
                {
                    RulesInRole rules = context.RulesInRole.First(o => o.RoleId == role.Id && o.PermId == perm.Id);
                    context.RulesInRole.DeleteObject(rules);
                }

                context.SaveChanges();
                transaction.Commit();
            }
            catch
            {
                transaction.Rollback();
            }
            finally
            {
                context.Connection.Close();
            }
        }
Example #2
0
        public void AddPermissionsToRole(Roles role, PermissionRule permission, RulesInRole rulesInRole)
        {
            AutoRentEntities context     = new AutoRentEntities();
            DbTransaction    transaction = null;

            try
            {
                context.Connection.Open();
                transaction = context.Connection.BeginTransaction();

                rulesInRole.RoleId = role.Id;
                rulesInRole.PermId = permission.Id;

                context.SaveChanges();
                transaction.Commit();
            }
            catch
            {
                transaction.Rollback();
            }
            finally
            {
                context.Connection.Close();
            }
        }
 public void InsertRulesInRole(RulesInRole rulesInRole)
 {
     if ((rulesInRole.EntityState != EntityState.Detached))
     {
         this.ObjectContext.ObjectStateManager.ChangeObjectState(rulesInRole, EntityState.Added);
     }
     else
     {
         this.ObjectContext.RulesInRole.AddObject(rulesInRole);
     }
 }
 public void DeleteRulesInRole(RulesInRole rulesInRole)
 {
     if ((rulesInRole.EntityState != EntityState.Detached))
     {
         this.ObjectContext.ObjectStateManager.ChangeObjectState(rulesInRole, EntityState.Deleted);
     }
     else
     {
         this.ObjectContext.RulesInRole.Attach(rulesInRole);
         this.ObjectContext.RulesInRole.DeleteObject(rulesInRole);
     }
 }
        public RulesInRole CheckPermissionForRole(Roles role, PermissionRule permission)
        {
            RulesInRole               res     = null;
            AutoRentEntities          context = new AutoRentEntities();
            IEnumerable <RulesInRole> list    =
                from perm in context.PermissionRule
                from rulesInRole in context.RulesInRole
                where rulesInRole.RoleId == role.Id && rulesInRole.PermId == perm.Id
                select rulesInRole;

            if (list != null)
            {
                res = list.First();
            }
            return(res);
        }
        public RulesInRole CheckPermissionForUser(string login, PermissionRule permission)
        {
            RulesInRole               res     = null;
            AutoRentEntities          context = new AutoRentEntities();
            IEnumerable <RulesInRole> list    =
                from roles in context.Members.First(o => o.Login == login).Roles
                from perm in context.PermissionRule
                from rulesInRole in context.RulesInRole
                where rulesInRole.RoleId == roles.Id && rulesInRole.PermId == perm.Id
                select rulesInRole;

            if (list != null)
            {
                res = list.First();
            }
            return(res);
        }
 public void UpdateRulesInRole(RulesInRole currentRulesInRole)
 {
     this.ObjectContext.RulesInRole.AttachAsModified(currentRulesInRole, this.ChangeSet.GetOriginal(currentRulesInRole));
 }