Beispiel #1
0
        public void UpdateRole(webpages_Roles roleInput)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var repo = new Durandal2UserMaintContext();
                    var role =
                        (from v in repo.webpages_Roles where v.RoleId == roleInput.RoleId select v).FirstOrDefault();

                    if (role != null)
                    {
                        role.RoleName = roleInput.RoleName;
                        repo.SaveChanges();
                    }
                    else
                    {
                        throw new Exception("Role to update not found");
                    }
                }
                catch (Exception)
                {
                    throw;
                }
            }
            else
            {
                string errors = ModelState.Values.SelectMany(modelState => modelState.Errors).Aggregate(string.Empty, (current, error) => current + (error.ErrorMessage + Environment.NewLine));
                throw new Exception(errors);
            }
        }
Beispiel #2
0
        public IQueryable <RoleGridModel> ListRoles()
        {
            var repo = new Durandal2UserMaintContext();

            return(from v in repo.webpages_Roles select new RoleGridModel
            {
                RoleId = v.RoleId,
                RoleName = v.RoleName
            });
        }
Beispiel #3
0
        public IQueryable <UserGridModel> ListUsers()
        {
            var repo = new Durandal2UserMaintContext();

            return(from u in repo.UserProfiles
                   from m in repo.webpages_Membership
                   where u.UserId == m.UserId
                   select new UserGridModel
            {
                UserName = u.UserName,
                CreateDate = m.CreateDate,
                LastPasswordChange = m.PasswordChangedDate,
                IsActive = u.IsActive,
                Email = u.UserEmail
            });
        }
Beispiel #4
0
        public void AddRoleToUser(UserRoleEditModel userRole)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    //I tried using the Roles.AddUserToRole but I was getting a foreign key error. So I decided this way.

                    if (Roles.IsUserInRole(userRole.UserName, userRole.RoleName))
                    {
                        throw new Exception("User is already assigned that role");
                    }
                    var repo = new Durandal2UserMaintContext();
                    var user =
                        (from v in repo.UserProfiles select v).FirstOrDefault(x => x.UserName == userRole.UserName);
                    if (user == null)
                    {
                        throw new Exception("User to update not found");
                    }
                    else
                    {
                        var role =
                            (from v in repo.webpages_Roles select v).FirstOrDefault(x => x.RoleName == userRole.RoleName);
                        if (role == null)
                        {
                            throw new Exception("Role to use not found");
                        }
                        else
                        {
                            user.webpages_Roles.Add(role);
                            repo.SaveChanges();
                        }
                    }
                }
                catch (Exception)
                {
                    throw;
                }
            }
            else
            {
                string errors = ModelState.Values.SelectMany(modelState => modelState.Errors).Aggregate(string.Empty, (current, error) => current + (error.ErrorMessage + Environment.NewLine));
                throw new Exception(errors);
            }
        }
Beispiel #5
0
        public IQueryable <UsersInRoleGridModel> ListUsersInRole(string role)
        {
            var repo = new Durandal2UserMaintContext();

            var q1 = (from v in repo.webpages_Roles where v.RoleName == role select v).FirstOrDefault();

            if (q1 != null)
            {
                return(q1.UserProfiles.Select(userProfile => new UsersInRoleGridModel
                {
                    UserName = userProfile.UserName
                }).AsQueryable());
            }
            else
            {
                throw new Exception("Role not found");
            }
        }
Beispiel #6
0
        public IQueryable <RoleGridModel> ListUserRoles(string user)
        {
            var repo = new Durandal2UserMaintContext();

            var q1 = (from v in repo.UserProfiles where v.UserName == user select v).FirstOrDefault();

            if (q1 != null)
            {
                return(q1.webpages_Roles.Select(x => new RoleGridModel
                {
                    RoleName = x.RoleName,
                    RoleId = x.RoleId
                }).AsQueryable());
            }
            else
            {
                throw new Exception("User not found");
            }
        }
Beispiel #7
0
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                var repo = new Durandal2UserMaintContext();

                var user = repo.UserProfiles.FirstOrDefault(x => x.UserName == model.UserName && x.IsActive);
                if (user != null)
                {
                    if (WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
                    {
                        return(RedirectToLocal(returnUrl));
                    }
                }
            }

            // If we got this far, something failed, redisplay form
            ModelState.AddModelError("", "The user name or password provided is incorrect, or the user is not active.");
            return(View(model));
        }
Beispiel #8
0
        public void UpdateUserInfo(UserProfile userProfile)
        {
            if (ModelState.IsValid)
            {
                var repo = new Durandal2UserMaintContext();

                var user = (from v in repo.UserProfiles select v).FirstOrDefault(x => x.UserName == userProfile.UserName);
                if (user != null)
                {
                    user.UserEmail = userProfile.UserEmail;
                    user.IsActive  = userProfile.IsActive;
                    repo.SaveChanges();
                }
                else
                {
                    throw new Exception("User to update not found");
                }
            }
            else
            {
                string errors = ModelState.Values.SelectMany(modelState => modelState.Errors).Aggregate(string.Empty, (current, error) => current + (error.ErrorMessage + Environment.NewLine));
                throw new Exception(errors);
            }
        }
Beispiel #9
0
            public SimpleMembershipInitializer()
            {
                Database.SetInitializer <Durandal2UserMaintContext>(null);

                try
                {
                    bool createdDb = false;
                    using (var context = new Durandal2UserMaintContext())
                    {
                        if (!context.Database.Exists())
                        {
                            // Create the SimpleMembership database without Entity Framework migration schema
                            ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                            createdDb = true;
                        }
                    }

                    try
                    {
                        WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId",
                                                                 "UserName", autoCreateTables: true);
                    }
                    catch (InvalidOperationException e)
                    {
                        //do nothing. Most likely the initialization happened in the global.aspx
                    }
                    catch (Exception)
                    {
                        throw;
                    }


                    if (createdDb)
                    {
                        try
                        {
                            Roles.CreateRole("Administrator");
                            WebSecurity.CreateUserAndAccount("admin", "pass@word1", new { IsActive = true });
                            Roles.AddUserToRole("admin", "Administrator");
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                    else
                    {
                        if (!Roles.RoleExists("Administrator"))
                        {
                            Roles.CreateRole("Administrator");
                        }
                        if (WebSecurity.UserExists("admin"))
                        {
                            if (!Roles.IsUserInRole("admin", "Administrator"))
                            {
                                try
                                {
                                    Roles.AddUserToRole("admin", "Administrator");
                                }
                                catch (Exception ex)
                                {
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex);
                }
            }