public ActionResult Create([Bind(Include = "ID,CourseName,CategoryID")] Course course)
        {
            if (ModelState.IsValid)
            {
                db.Courses.Add(course);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CategoryID = new SelectList(db.Categories, "ID", "CategoryName", course.CategoryID);
            return(View(course));
        }
        public override void AddUsersToRoles(string[] usernames, string[] roleNames)
        {
            if (usernames.Any(un => String.IsNullOrWhiteSpace(un)))
            {
                throw new ArgumentException("Usernames cannot contain username that is null, empty string or whitespace");
            }
            if (roleNames.Any(rn => String.IsNullOrWhiteSpace(rn)))
            {
                throw new ArgumentException("RoleName cannot contain role name that is null, empty string or whitespace");
            }

            using (var db = new MysenseiEntities())
            {
                var users = db.Users.Where(u => usernames.Contains(u.Email)).ToList();
                var roles = db.Roles.Where(r => roleNames.Contains(r.RoleNname)).ToList();

                foreach (var user in users)
                {
                    foreach (var role in roles)
                    {
                        if (!user.Roles.Contains(role))
                        {
                            user.Roles.Add(role);
                        }
                    }
                }
                db.SaveChanges();
            }
        }
        public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
        {
            if (usernames.Any(un => String.IsNullOrWhiteSpace(un)))
            {
                throw new ArgumentException("Usernames cannot contain username that is null, empty string or whitespace");
            }
            if (roleNames.Any(rn => String.IsNullOrWhiteSpace(rn)))
            {
                throw new ArgumentException("RoleName cannot contain role name that is null, empty string or whitespace");
            }

            using (var db = new MysenseiEntities())
            {
                var users = db.Users.Include(i => i.Roles).Where(a => usernames.Contains(a.Email));
                foreach (var user in users)
                {
                    foreach (var roleName in roleNames)
                    {
                        var role = user.Roles.FirstOrDefault(r => r.RoleNname == roleName);
                        if (role != null)
                        {
                            user.Roles.Remove(role);
                        }
                    }
                }
                db.SaveChanges();
            }
        }
 public ActionResult SignUpPartial(User user)
 {
     if (ModelState.IsValid)
     {
         DB.Users.Add(user);
         DB.SaveChanges();
     }
     return(RedirectToAction("Login", "Login"));
 }
        public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
        {
            ThrowOnNullOrWhiteSpace(roleName, "roleName");

            using (var db = new MysenseiEntities())
            {
                var role = db.Roles.FirstOrDefault(r => r.RoleNname == roleName);

                if (role == null)
                {
                    throw new Exception("Role with given roleName does not exist");
                }
                if (throwOnPopulatedRole && role.Users.Any())
                {
                    throw new ProviderException("Role is populated with users");
                }

                db.Roles.Remove(role);
                db.SaveChanges();
                return(true);
            }
        }
        public override void CreateRole(string roleName)
        {
            ThrowOnNullOrWhiteSpace(roleName, "roleName");

            if (roleName.Contains(','))
            {
                throw new ArgumentException("roleName should not contain comma (\",\")");
            }
            if (roleName.Length > 50)
            {
                throw new ArgumentException("roleName cannot be longer than 50 characters");
            }

            using (var db = new MysenseiEntities())
            {
                var role = new Role()
                {
                    RoleNname = roleName
                };
                db.Roles.Add(role);
                db.SaveChanges();
            }
        }