예제 #1
0
        public static User CreateUser(string login, string password, string email)
        {
            try
            {

                var db = new DatabaseEntities();
                var user = new User();

                user.Login = login;
                user.Password = Helper.GetMd5HashString(password);
                user.Email = email;

            //                user.Role = new Role();

                var role = from r in db.Roles where r.RoleName=="Registered" select r;

                user.Role = role.First();
                db.Users.Add(user);
                db.SaveChanges();
                return user;

            }
            catch
            {
                return null;
            }
        }
예제 #2
0
 public static void DeleteUser(int id)
 {
     var db = new DatabaseEntities();
     var users = from user in db.Users where user.UserId==id select user;
     User u = users.First();
     db.Users.Remove(u);
     db.SaveChanges();
 }
예제 #3
0
 public static Role CreateRole(string RoleName)
 {
     var db = new DatabaseEntities();
         Role role = new Role();
         role.Permission = new Permission();
         role.RoleName = RoleName;
         db.Roles.Add(role);
         db.SaveChanges();
         return role;
 }
예제 #4
0
 public static void DeletePermissionPath(int PathId)
 {
     var db = new DatabaseEntities();
     var p = from permissionPath in db.PermissionPaths where permissionPath.Id==PathId select permissionPath;
     if (p.Any())
     {
         var path = p.First();
         db.PermissionPaths.Remove(path);
         db.SaveChanges();
     }
 }
예제 #5
0
        public static List<Permission> GetAllPermissions()
        {
            var db = new DatabaseEntities();
            var p = from permission in db.Permissions select permission;
            if (p.Any())

                return p.ToList();
            else
            {
                return null;
            }
        }
예제 #6
0
 public static User ChangeUser(int id, string login, string password, string email, int roleId)
 {
     var db = new DatabaseEntities();
     var users = from user in db.Users where user.UserId == id select user;
     User u = users.First();
     u.Login = login;
     u.Password = Helper.GetMd5HashString(password);
     u.Email = email;
     u.RoleId = roleId;
     db.SaveChanges();
     return GetUser(id);
 }
예제 #7
0
        public static User CreateUser(string login, string password,string email, int RoleId)
        {
            var db = new DatabaseEntities();
            var user = new User();

            user.Login = login;
            user.Password = Helper.GetMd5HashString(password);
            user.Email = email;

            //                user.Role = new Role();

            var role = from r in db.Roles where r.RoleId == RoleId select r;

            user.Role = role.First();
            db.Users.Add(user);
            db.SaveChanges();
            return user;
        }
예제 #8
0
 public static Role ChangeRole(int roleId, bool browse, bool edit, bool delete)
 {
     var db = new DatabaseEntities();
     var r = from role in db.Roles where role.RoleId == roleId select role;
     if (r.Any())
     {
         Role role = r.First();
         role.Permission.PermissionBrowse = browse;
         role.Permission.PermissionEdit = edit;
         role.Permission.PermissionDelete = delete;
         db.SaveChanges();
         return role;
     }
     else
     {
         return null;
     }
 }
예제 #9
0
        public static Role CreateRole(string RoleName,int PermissionId)
        {
            var db = new DatabaseEntities();
            var p = from permission in db.Permissions where permission.PermissionId == PermissionId select permission;

            if (p.Any())
            {
                Role role = new Role();
                role.Permission = p.First();
                role.RoleName = RoleName;
                db.Roles.Add(role);
                db.SaveChanges();
                return role;
            }
            else
            {
                return null;
            }
        }
예제 #10
0
 public static Role AddPath(string Action, string Controller, int RoleId)
 {
     var db = new DatabaseEntities();
     var r = from role in db.Roles where role.RoleId == RoleId select role;
     if (r.Any())
     {
         var role = r.First();
         PermissionPath path = new PermissionPath();
         path.Action = Action;
         path.Controller = Controller;
         role.Permission.PermissionPaths.Add(path);
         db.SaveChanges();
         return role;
     }
     else
     {
         return null;
     }
 }
예제 #11
0
        public static bool ValidatePermissions(string controller, string action,  ActionExecutingContext filterContext )
        {
            var permission = filterContext.HttpContext.Session["Permission"] as Permission;
            if (permission == null)
            {
                var db = new DatabaseEntities();
                var p = from guest in db.Roles where guest.RoleName == "Guest" select guest.Permission;
                permission = p.First();
                filterContext.HttpContext.Session.Add("Permission", permission);
                filterContext.HttpContext.Session.Add("DeleteEntities", permission.PermissionDelete);
                filterContext.HttpContext.Session.Add("EditEntities", permission.PermissionEdit);
                filterContext.HttpContext.Session.Add("CreateEntities", permission.PermissionBrowse);

            }

            if (permission.PermissionBrowse == false && controller == "Admin" && action == "CreateUser") return false;
            if (permission.PermissionBrowse == false && controller == "Admin" && action == "CreateRole") return false;

            if (permission.PermissionEdit== false && controller == "Admin" && action == "UserEdit") return false;
            if (permission.PermissionEdit == false && controller == "Admin" && action == "RoleEdit") return false;
            if (permission.PermissionEdit == false && controller == "Admin" && action == "PathAdd") return false;

            if (permission.PermissionDelete == false && controller == "Admin" && action == "DeleteUser") return false;
            if (permission.PermissionDelete == false && controller == "Admin" && action == "RoleDelete") return false;

               var paths = from path in permission.PermissionPaths
                        where path.Controller == controller && path.Action == action
                            select path;

            if (!paths.Any())
            {
                var p = from path in permission.PermissionPaths
                            where path.Controller == controller && path.Action == string.Empty
                            select path;
                return !p.Any();
            }
            else
            {
                return false;
            }
        }
예제 #12
0
 public static List<Role> GetAllRoles()
 {
     var db = new DatabaseEntities();
     var query = from role in db.Roles select role;
     if (query.Any())
     {
         return query.ToList();
     }
     else
     {
         return null;
     }
 }
예제 #13
0
        public static RoleError DeleteRole(int id)
        {
            var db = new DatabaseEntities();
            var roles = from role in db.Roles where role.RoleId == id select role;
            if (roles.Any())
            {
                var role = roles.First();
                if (role.RoleName == "Guest" || role.RoleName == "Registered" || role.RoleName == "Administrators")
                return RoleError.DefaultRoleError;
            }

            var users = from user in db.Users where user.RoleId==id select user;
            if (users.Any())
            {
                return RoleError.UsersUseRole;
            }
            else
            {
                var r = from role in db.Roles where role.RoleId == id select role;

                if (r.Any())
                {
                    var role = r.First();
                    var permissions = from p in db.Permissions where p.PermissionId == role.PermissionId select p;
                    Permission permission = permissions.First();
                    db.Roles.Remove(role);
                    db.Permissions.Remove(permission);
                    var paths = from path in db.PermissionPaths where path.PermissionId== role.PermissionId select path;

                    if (paths.Any())
                    {
                        var pathsList = paths.ToList();
                        foreach (var path in pathsList)
                        {
                            db.PermissionPaths.Remove(path);
                        }
                    }

                    db.SaveChanges();
                    return RoleError.NoneError;
                }
                else return RoleError.RoleNotExist;
            }
        }
예제 #14
0
 public static bool RoleExist(string roleName)
 {
     var db = new DatabaseEntities();
     var r = from role in db.Roles where role.RoleName== roleName select role;
     return r.Any();
 }
예제 #15
0
 public static bool UserAlreadyExists(string login)
 {
     var db = new DatabaseEntities();
     var query = from user in db.Users where user.Login == login select user.Login;
     if (query.Any())
     {
         return true;
     }
     else
     {
         return false;
     }
 }
예제 #16
0
        public static User GetUser(int id)
        {
            var db = new DatabaseEntities();

            var users = from user in db.Users  where user.UserId==id select user;
            if(users.Any())
            return users.First();
            else return null;
        }
예제 #17
0
 public static List<User> GetAllUsers()
 {
     var db = new DatabaseEntities();
     var users = from user in db.Users select user;
     return users.ToList();
 }
예제 #18
0
 public static User ValidateUser(string login, string password)
 {
     var db = new DatabaseEntities();
     string md5PasswordHash = Helper.GetMd5HashString(password);
     var query = from user in db.Users where user.Login == login && user.Password== md5PasswordHash select user;
     if (query.Any())
     {
         return query.First();
     }
     else
     {
         return null;
     }
 }
예제 #19
0
 public static Role GetRole(int RoleId)
 {
     var db = new DatabaseEntities();
     var r = from role in db.Roles where role.RoleId == RoleId select role;
     if (r.Any())
     {
         return r.First();
     }
     else
     {
         return null;
     }
 }