Example #1
0
        public bool RemovePermission4Role(string roleId, string permissionId)
        {
            var _retVal = false;

            try
            {
                using (var db = new SKMContext())
                {
                    var role       = db.Roles.Where(p => p.Id == roleId).Include(c => c.Permissions).FirstOrDefault();
                    var permission = db.AccountPemissions.Where(p => p.PermissionId == permissionId).Include(c => c.Roles)
                                     .FirstOrDefault();

                    if (role != null && role.Permissions.Contains(permission))
                    {
                        role.Permissions.Remove(permission);
                        //_role2Modify.LastModified = DateTime.Now;
                        db.Entry(role).State = EntityState.Modified;
                        db.SaveChanges();

                        _retVal = true;
                    }
                }
            }
            catch (Exception)
            {
            }

            return(_retVal);
        }
Example #2
0
        public bool AddUpdatePermission(AccountPemission newPermission)
        {
            var retVal = false;

            try
            {
                using (var db = new SKMContext())
                {
                    var permission = db.AccountPemissions.FirstOrDefault(c => c.Name == newPermission.Name);
                    if (permission == null)
                    {
                        db.AccountPemissions.Add(newPermission);
                        db.Entry(newPermission).State = EntityState.Added;
                        db.SaveChanges();
                        retVal = true;
                    }
                    else
                    {
                        retVal = true;
                    }
                }
            }
            catch (Exception)
            {
            }

            return(retVal);
        }
Example #3
0
        public bool DeleteAccountPemission(string permissionId)
        {
            var _retVal = false;

            try
            {
                using (var db = new SKMContext())
                {
                    var AccountPemission = db.AccountPemissions.Where(p => p.PermissionId == permissionId).Include(c => c.Roles)
                                           .FirstOrDefault();

                    if (AccountPemission != null)
                    {
                        AccountPemission.Roles.Clear();
                        db.Entry(AccountPemission).State = EntityState.Deleted;
                    }

                    db.SaveChanges();
                    _retVal = true;
                }
            }
            catch (Exception)
            {
            }

            return(_retVal);
        }
Example #4
0
        public bool AddAllPermissions2Role(string roleId)
        {
            var _retVal = false;

            try
            {
                using (var db = new SKMContext())
                {
                    var role = db.Roles.Where(p => p.Id == roleId).Include(c => c.Permissions).FirstOrDefault();
                    if (role != null)
                    {
                        var permissions = db.AccountPemissions.Include(c => c.Roles).ToList();
                        foreach (var permission in permissions)
                        {
                            if (!role.Permissions.Contains(permission))
                            {
                                role.Permissions.Add(permission);
                            }
                        }
                        //role.LastModified = DateTime.Now;
                        db.Entry(role).State = EntityState.Modified;
                        db.SaveChanges();
                        _retVal = true;
                    }
                }
            }
            catch
            {
            }

            return(_retVal);
        }
Example #5
0
        public bool AddPermissionToRole(string roleId, PermissionType permissionType)
        {
            var retVal = false;

            try
            {
                using (var db = new SKMContext())
                {
                    var role = db.Roles.Where(p => p.Id == roleId).Include(c => c.Permissions).FirstOrDefault();
                    if (role != null)
                    {
                        var permission = db.AccountPemissions.Where(p => p.Type == permissionType).Include(c => c.Roles).FirstOrDefault();
                        if (!role.Permissions.Contains(permission))
                        {
                            role.Permissions.Add(permission);
                            //role.LastModified = DateTime.Now;
                            db.Entry(role).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(retVal);
        }
Example #6
0
        public static bool AddUserToRole(string userId, string roleId)
        {
            var retVal = false;

            try
            {
                var user = GetUser(userId);
                if (user != null)
                {
                    if (user.Roles.All(p => p.RoleId != roleId))
                    {
                        var identityRole = new AccountUserRole {
                            UserId = userId, RoleId = roleId
                        };
                        if (!user.Roles.Contains(identityRole))
                        {
                            user.Roles.Add(identityRole);
                        }
                        user.LastModified = DateTime.Now;
                        if (UserManager != null)
                        {
                            UserManager.Update(user);
                        }
                        else
                        {
                            if (_context != null)
                            {
                                using (var manager =
                                           new AccountManager(new AccountStore(_context.Get <SKMContext>())))
                                {
                                    manager.Update(user);
                                }
                            }
                            else
                            {
                                using (var db = new SKMContext())
                                {
                                    using (var manager = new AccountManager(new AccountStore(db)))
                                    {
                                        manager.Update(user);
                                    }
                                }
                            }
                        }
                        retVal = true;
                    }
                }
            }
            catch (Exception)
            {
            }
            return(retVal);
        }
Example #7
0
        //public static Account GetUser(string _userId)
        //{
        //    using (TMSContext db = new TMSContext())
        //    {
        //        return GetUser(db, _userId);
        //    }
        //}

        public static Account GetUserWithContext(SKMContext db, string userId)
        {
            Account retVal = null;

            try
            {
                retVal = db.Users.Where(p => p.Id == userId).Include(c => c.Roles).Include(x => x.Roles.Select(r => r.Role.Permissions)).FirstOrDefault();
            }
            catch (Exception)
            {
            }

            return(retVal);
        }
Example #8
0
        public AccountPemission GetAccountPemission(string permissionName)
        {
            AccountPemission retVal = null;

            try
            {
                using (var db = new SKMContext())
                {
                    retVal = db.AccountPemissions.Where(p => p.Name == permissionName).Include(c => c.Roles).FirstOrDefault();
                }
            }
            catch (Exception)
            {
            }

            return(retVal);
        }
Example #9
0
        public List <AccountPemission> GetAccountPemissions()
        {
            List <AccountPemission> retVal = null;

            try
            {
                using (var db = new SKMContext())
                {
                    retVal = db.AccountPemissions.OrderBy(p => p.Name).Include(c => c.Roles).ToList();
                }
            }
            catch (Exception)
            {
            }

            return(retVal);
        }
Example #10
0
        public static bool RemoveUserFromRole(string userId, string roleId)
        {
            var retVal = false;

            try
            {
                var user = GetUser(userId);
                if (user != null)
                {
                    if (user.Roles.Any(p => p.RoleId == roleId))
                    {
                        user.Roles.Remove(user.Roles.FirstOrDefault(p => p.RoleId == roleId));
                        if (UserManager != null)
                        {
                            UserManager.Update(user);
                        }
                        else
                        {
                            if (_context != null)
                            {
                                using (var manager = new AccountManager(new AccountStore(_context.Get <SKMContext>())))
                                {
                                    manager.Update(user);
                                }
                            }
                            else
                            {
                                using (var db = new SKMContext())
                                {
                                    using (var manager = new AccountManager(new AccountStore(db)))
                                    {
                                        manager.Update(user);
                                    }
                                }
                            }
                        }
                        retVal = true;
                    }
                }
            }
            catch (Exception)
            {
            }
            return(retVal);
        }
Example #11
0
        public bool UpdateAccountPemission(AccountPemission permission)
        {
            var retVal = false;

            try
            {
                using (var db = new SKMContext())
                {
                    db.Entry(permission).State = EntityState.Modified;
                    db.SaveChanges();
                    retVal = true;
                }
            }
            catch (Exception)
            {
            }

            return(retVal);
        }
Example #12
0
        //public static AccountManager Manager { get; set; }

        public static Account GetUser(string userId)
        {
            Account user = null;

            try
            {
                user = UserManager.Users.Include(c => c.Roles).FirstOrDefault(c => c.Id == userId);
            }
            catch (Exception ex)
            {
                try
                {
                    if (_context != null)
                    {
                        using (var store = new AccountStore(_context.Get <SKMContext>()))
                        {
                            using (var manager = new AccountManager(store))
                            {
                                user = manager.Users.Include(c => c.Roles).FirstOrDefault(c => c.Id == userId);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    try
                    {
                        using (var db = new SKMContext())
                        {
                            return(GetUserWithContext(db, userId));
                        }
                    }
                    catch (Exception exception)
                    {
                        // log exception
                        return(user);
                    }
                }
            }
            return(user);
            //var roles = UserManager.GetRoles(userId);
        }
Example #13
0
        public bool AddPermission(AccountPemission newPermission)
        {
            var retVal = false;

            try
            {
                using (var db = new SKMContext())
                {
                    db.AccountPemissions.Add(newPermission);
                    db.Entry(newPermission).State = EntityState.Added;
                    db.SaveChanges();
                    retVal = true;
                }
            }
            catch (Exception)
            {
            }

            return(retVal);
        }
Example #14
0
 public AccountStore(SKMContext context)
     : base(context)
 {
 }