public ActionResult ChangeRole(UsersRolesViewModel newUserProperties)
        {
            _userManager.AddToRole(newUserProperties.UserId, newUserProperties.NewRole);

            if (newUserProperties.RoleName != null)
            {
                _userManager.RemoveFromRole(newUserProperties.UserId, newUserProperties.RoleName);
            }

            List <UsersRolesViewModel> list = new List <UsersRolesViewModel>();

            var users = db.Users.OrderBy(m => m.FirstName).ToList();

            foreach (User user in users)
            {
                var userItem = new UsersRolesViewModel()
                {
                    User     = user,
                    RoleName = _userManager.GetRoles(user.Id).FirstOrDefault()
                };

                list.Add(userItem);
            }

            return(View("ManageUserRoles", list));
        }
        public ActionResult ManageUserRoles(string userEmail)
        {
            List <UsersRolesViewModel> list = new List <UsersRolesViewModel>();

            IEnumerable <User> users;

            if (String.IsNullOrEmpty(userEmail))
            {
                users = db.Users.OrderBy(m => m.FirstName).ToList();
            }
            else
            {
                users = db.Users.Where(m => m.Email.Equals(userEmail, StringComparison.CurrentCultureIgnoreCase))
                        .OrderBy(m => m.FirstName).ToList();
            }

            foreach (User user in users)
            {
                var userItem = new UsersRolesViewModel()
                {
                    User     = user,
                    RoleName = _userManager.GetRoles(user.Id).FirstOrDefault()
                };

                list.Add(userItem);
            }

            return(View(list.ToList()));
        }
Пример #3
0
        public ActionResult Edit([Bind(Include = "RolesId,UserId")] UsersRolesViewModel pUrserRole)
        {
            if (ModelState.IsValid)
            {
                var userEnity = (from user in context.Users where user.Id == pUrserRole.UserId select user).FirstOrDefault();

                userEnity.Roles.Clear();

                var rolesEnity = context.Roles.Where(x => pUrserRole.RolesId.Contains(x.Id)).ToList();

                foreach (var item in rolesEnity)
                {
                    Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole userRole = new Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole();
                    userRole.RoleId = item.Id;
                    userRole.UserId = userEnity.Id;

                    userEnity.Roles.Add(userRole);
                }

                context.Entry(userEnity).State = System.Data.Entity.EntityState.Modified;

                context.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(pUrserRole));
        }
Пример #4
0
        //========================================================

        public async Task <IActionResult> EditUser(string id)
        {
            if (id != null && id != "")
            {
                var user = await usersAndRolesService.GetUserById(id);

                var userRole = await usersAndRolesService.GetUserRoleByUser(user);

                var userFirstRole = await usersAndRolesService.GetRoleByUserRole(userRole);

                var roles = await usersAndRolesService.GetRoles();

                var list = new SelectList(roles, "Id", "Name");

                ViewBag.Roles = list;

                var model = new UsersRolesViewModel
                {
                    User        = user,
                    Role        = userFirstRole,
                    UserRole    = userRole,
                    UserId      = id,
                    FirstRoleId = userFirstRole.Id
                };


                if (model != null)
                {
                    return(View(model));
                }
            }
            return(NotFound());
        }
Пример #5
0
        public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            ViewBag.roleId = roleId;
            var role = await roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                ViewBag.ErrorMessage = $"Role with Id = {roleId} cannot be found";
                return(View("Error"));
            }
            var model = new List <UsersRolesViewModel>();

            foreach (var user in await userManager.Users.ToListAsync())
            {
                var userRoleViewModel = new UsersRolesViewModel
                {
                    UserId   = user.Id,
                    UserName = user.UserName,
                };
                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    userRoleViewModel.IsSelected = true;
                }
                else
                {
                    userRoleViewModel.IsSelected = false;
                }

                model.Add(userRoleViewModel);
            }
            return(View(model));
        }
Пример #6
0
        public async Task <IActionResult> ManageUserRoles(string userId)
        {
            ViewBag.userId = userId;
            var user = await userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(RedirectToAction("NotFound"));
            }
            var model = new List <UsersRolesViewModel>();

            foreach (var role in roleManager.Roles.ToList())
            {
                var userRoles = new UsersRolesViewModel()
                {
                    RoleId   = role.Id,
                    RoleName = role.Name
                };
                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    userRoles.IsSelected = true;
                }
                else
                {
                    userRoles.IsSelected = false;
                }
                model.Add(userRoles);
            }
            return(View(model));
        }
Пример #7
0
        public ActionResult Index()
        {
            List <UsersRolesViewModel> userList = new List <UsersRolesViewModel>();

            foreach (var user in db.Users.ToList())

            {
                UsersRolesViewModel uservm = new UsersRolesViewModel();
                uservm.User      = user;
                uservm.Roles     = helper.ListUserRoles(user.Id);
                uservm.Projectsb = pHelper.ListProjectsForAUser(user.Id);
                uservm.Tickets   = new List <Ticket>();
                foreach (var project in uservm.Projectsb)
                {
                    foreach (var ticket in project.Tickets)
                    {
                        if (ticket.AssignedToUserId == user.Id)
                        {
                            uservm.Tickets.Add(ticket);
                        }
                    }
                }

                userList.Add(uservm);
            }
            return(View(userList));
        }
Пример #8
0
        public ActionResult Index()
        {
            List <UsersRolesViewModel> userList = new List <UsersRolesViewModel>();

            //foreach (var user in db.Users.ToList())
            foreach (var user in (helper.UsersInRole("BugtrackerUser")))
            {
                var currentRoles = helper.ListUserRoles(user.Id);
                if (!currentRoles.Contains("Submitter"))
                {
                    helper.AddUserToRole(user.Id, "Submitter");
                    db.SaveChanges();
                }

                UsersRolesViewModel uservm = new UsersRolesViewModel();
                uservm.User      = user;
                uservm.Roles     = helper.ListUserRoles(user.Id);
                uservm.Projectsb = pHelper.ListProjectsForAUser(user.Id);
                uservm.Tickets   = new List <Ticket>();
                foreach (var project in uservm.Projectsb)
                {
                    foreach (var ticket in project.Tickets)
                    {
                        if (ticket.AssignedToUserId == user.Id)
                        {
                            uservm.Tickets.Add(ticket);
                        }
                    }
                }
                userList.Add(uservm);
            }
            return(View(userList));
        }
Пример #9
0
        public ActionResult Details([Bind(Include = "Roles")] UsersRolesViewModel model, string Id)
        {
            if (ModelState.IsValid)
            {
                var currentRoles = helper.ListUserRoles(Id);
                foreach (var ExistingRoles in currentRoles)
                {
                    if (ExistingRoles != "Submitter")
                    {
                        helper.RemoveUserFromRole(Id, ExistingRoles);
                        db.SaveChanges();
                    }
                }

                if (model.Roles.Any())
                {
                    foreach (var role in model.Roles)
                    {
                        if (role != "Submitter")
                        {
                            helper.AddUserToRole(Id, role);
                            db.SaveChanges();
                        }
                    }
                }
                return(RedirectToAction("Index"));
            }
            UsersRolesViewModel userRoleViewModel = new UsersRolesViewModel();

            userRoleViewModel.User  = db.Users.Find(Id);
            userRoleViewModel.Roles = helper.ListUserRoles(Id);
            ViewBag.Roles           = new MultiSelectList(db.Roles, "Name", "Name");
            return(View(model));
        }
Пример #10
0
        public ActionResult SidebarPartial2()
        {
            var currentuser = db.Users.Find(User.Identity.GetUserId());

            if (currentuser != null)
            {
                ProjectAssignHelper ph = new ProjectAssignHelper();
                UserRolesHelper     uh = new UserRolesHelper(db);
                UsersRolesViewModel vm = new UsersRolesViewModel();
                var userId             = User.Identity.GetUserId();
                var user = db.Users.Find(userId);
                vm.User  = db.Users.Find(User.Identity.GetUserId());
                vm.Roles = uh.ListUserRoles(vm.User.Id);
                if (uh.IsUserInRole(userId, "Admin") || uh.IsUserInRole(userId, "Administrator") || uh.IsUserInRole(userId, "Project Manager1") || uh.IsUserInRole(userId, "Project Manager2") || uh.IsUserInRole(userId, "Project Manager3"))
                {
                    vm.Projectsb = db.Projects.ToList();
                }
                else
                {
                    vm.Projectsb = ph.ListProjectsForAUser(userId);
                }

                return(PartialView("~/Areas/BugTracker/Views/Projects/_SidebarPartial2.cshtml", vm));
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #11
0
        // GET: Dashboard/Roles
        public ActionResult Index()
        {
            UsersRolesViewModel UsersWithRoles = new UsersRolesViewModel();

            var allUsers    = db.Users.ToList();
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));

            List <ApplicationUser> Adminstrators = new List <ApplicationUser>();
            List <ApplicationUser> Managers      = new List <ApplicationUser>();
            List <ApplicationUser> Members       = new List <ApplicationUser>();

            foreach (var user in allUsers)
            {
                if (userManager.IsInRole(user.Id, "Admin"))
                {
                    Adminstrators.Add(user);
                }
                else if (userManager.IsInRole(user.Id, "Manager"))
                {
                    Managers.Add(user);
                }
                else if (userManager.IsInRole(user.Id, "Member"))
                {
                    Members.Add(user);
                }
            }

            UsersWithRoles.Adminstrators = Adminstrators;
            UsersWithRoles.Managers      = Managers;
            UsersWithRoles.Members       = Members;

            return(View(UsersWithRoles));
        }
Пример #12
0
        //GET
        public ActionResult Details(string Id)


        {
            ProjectAssignHelper ph = new ProjectAssignHelper();
            UserRolesHelper     UH = new UserRolesHelper(db);
            var userId             = User.Identity.GetUserId();
            var user = db.Users.Find(userId);

            if (UH.IsUserInRole(userId, "Admin") || UH.IsUserInRole(userId, "Administrator") || userId == Id)
            {
                if (Id != null)
                {
                    UsersRolesViewModel userRoleViewModel2 = new UsersRolesViewModel();
                    userRoleViewModel2.User      = db.Users.Find(Id);
                    userRoleViewModel2.Roles     = helper.ListUserRoles(Id);
                    userRoleViewModel2.Tickets   = db.Tickets.ToList();
                    userRoleViewModel2.Projectsb = db.Projects.ToList();

                    //userRoleViewModel.Projects = helper.
                    var SubmitterlessRolesList = db.Roles.Where(r => r.Name != "Submitter");
                    ViewBag.Roles = new MultiSelectList(SubmitterlessRolesList, "Name", "Name");

                    //ViewBag.Roles = new MultiSelectList(db.Topics, "Id", "TopicName");

                    return(View(userRoleViewModel2));
                }
                else
                {
                    UsersRolesViewModel userRoleViewModel = new UsersRolesViewModel();
                    userRoleViewModel.User    = db.Users.Find(userId);
                    userRoleViewModel.Roles   = helper.ListUserRoles(userId);
                    userRoleViewModel.Tickets = db.Tickets.ToList();
                    List <Project> UserProjects = new List <Project>();
                    foreach (var project in db.Projects)
                    {
                        if (ph.IsUserOnAProject(userId, project.Id))
                        {
                            UserProjects.Add(project);
                        }
                    }
                    userRoleViewModel.Projectsb = UserProjects;
                    //userRoleViewModel.Projects = helper.
                    var SubmitterlessRolesList = db.Roles.Where(r => r.Name != "Submitter");
                    ViewBag.Roles = new MultiSelectList(SubmitterlessRolesList, "Name", "Name");

                    //ViewBag.Roles = new MultiSelectList(db.Topics, "Id", "TopicName");

                    return(View(userRoleViewModel));
                }
            }
            var Temporary = "You cannot view Details of this User.  Please revisit your role assignment.  You may view your own user details, but other user's details can only be viewed by Administrators. ";

            TempData["message"] = Temporary;
            return(RedirectToAction("Index", "Users"));
        }
Пример #13
0
        public async Task <IActionResult> RemoveUsersFromRoles(UsersRolesViewModel model)
        {
            ModelState.Clear(); // as post request automaticly adds model errors on call

            if (model.UserIds != null && model.UserIds.Any())
            {
                var userSelects = await GetSelectUsers(model.UserIds);

                ViewBag.UserSelectItems = userSelects;
                model.UserStrings       = userSelects.Select(us => us.Text).ToArray();
            }

            return(View(model));
        }
Пример #14
0
        public async Task <ActionResult> UserRoles(string id)
        {
            var user = await UserManager.FindByIdAsync(id);

            var UserRoleIds = user.Roles.Select(s => s.RoleId).ToList();

            UsersRolesViewModel model = new UsersRolesViewModel();

            model.UserId = id;
            model.Roles  = RoleManager.Roles.Where(s => !UserRoleIds.Contains(s.Id)).ToList();

            model.UserRoles = RoleManager.Roles.Where(s => UserRoleIds.Contains(s.Id)).ToList();

            return(PartialView("_UserRoles", model));
        }
Пример #15
0
        public async Task <IActionResult> EditUser(UsersRolesViewModel model)
        {
            var user = await usersAndRolesService.GetUserById(model.UserId);

            var userRole = await usersAndRolesService.GetUserRoleByUser(user);

            var oldRole = await usersAndRolesService.GetRoleByUserRole(userRole);

            var newRole = await usersAndRolesService.GetRoleByUserRoleId(model.Role.Id);

            await _userManager.RemoveFromRoleAsync(user, oldRole.Name);

            await _userManager.AddToRoleAsync(user, newRole.Name);

            return(RedirectToAction("Users"));
        }
        public ActionResult List(string userid)
        {
            var appUser = UserManager.Users.Include(u => u.Roles)
                          .FirstOrDefault(u => u.Id == userid);

            //var appRoles = _context.Roles.ToList();
            var appRoles = RoleManager.Roles.ToList();

            var list = UsersRolesViewModel.CreateUsersRolesList(appUser, appRoles);

            ViewBag.UserName = appUser.UserName;

            //RestoreViewBagMessage();


            return(View(@"~\MODULE_AccessControl\Views\Admin\Users\UsersRoles.cshtml", list));
        }
Пример #17
0
        public ActionResult ChangeRole(string id)
        {
            UsersRolesViewModel viewModel = new UsersRolesViewModel()
            {
                User     = db.Users.Where(m => m.Id.Equals(id, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(),
                UserId   = id,
                RoleName = _userManager.GetRoles(id).FirstOrDefault(),
                NewRole  = _userManager.GetRoles(id).FirstOrDefault()
            };

            var roles = db.Roles.Select(m => new SelectListItem
            {
                Value = m.Name,
                Text  = m.Name
            });

            ViewBag.Roles = roles;

            return(View(viewModel));
        }
Пример #18
0
        public async Task <IActionResult> RemoveUsersFromRolesSubmit(UsersRolesViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.UserSelectItems = await GetSelectUsers(model.UserIds);

                return(View(nameof(RemoveUsersFromRoles), model));
            }

            await _userService.RemoveUsersFromRolesAsync(model.UserIds, model.RoleIds);

            if (model.ReturnUrl != "")
            {
                TempData.Put("Toast", new Toast(ToastType.Success, stringLocalizer["Successfully removed"]));
                return(RedirectToAction("Index", model.ReturnUrl.Split('/')[1]));
            }
            else
            {
                TempData.Put("Toast", new Toast(ToastType.Success, stringLocalizer["Successfully removed"]));
                return(RedirectToAction("Index", "User"));
            }
        }
Пример #19
0
        public ActionResult Index(string searchString)
        {
            var userRoleViewModel = new UsersRolesViewModel();

            var userList = getUsers();

            userRoleViewModel.Users = userList;

            if (!string.IsNullOrEmpty(searchString))
            {
                foreach (var user in userList.ToList())
                {
                    //if user doesn't match search string, remove them from user list to show
                    if (!user.FirstName.Contains(searchString) && !user.LastName.Contains(searchString) && !user.UserName.Contains(searchString) &&
                        !user.Roles.Contains(searchString))
                    {
                        Debug.WriteLine("--- search string: " + searchString + "Does not relate to anything in this record. Removing...");
                        Debug.WriteLine("--- Removing: " + user.FirstName + ", " + user.LastName);

                        userRoleViewModel.Users.Remove(user);
                    }
                    else
                    {
                        Debug.WriteLine(searchString + " Was contained in: ");
                        Debug.WriteLine("First name: " + user.FirstName.Contains(searchString));
                        Debug.WriteLine("last name: " + user.LastName.Contains(searchString));
                        Debug.WriteLine("Username: "******"Role: " + user.Roles.Contains(searchString));
                    }
                }
                Debug.WriteLine("After loop, userList count is " + userList.Count);
            }

            userRoleViewModel.Roles = getRoles();

            return(View(userRoleViewModel));
        }
Пример #20
0
        public ActionResult LayoutPartial()
        {
            var currentuser = db.Users.Find(User.Identity.GetUserId());

            if (currentuser != null)
            {
                UserRolesHelper     uh = new UserRolesHelper(db);
                UsersRolesViewModel vm = new UsersRolesViewModel();
                vm.User  = db.Users.Find(User.Identity.GetUserId());
                vm.Roles = uh.ListUserRoles(vm.User.Id);

                UserRolesHelper     helper                    = new UserRolesHelper(db);
                ProjectAssignHelper ph                        = new ProjectAssignHelper();
                var                    userId                 = User.Identity.GetUserId();
                var                    user                   = db.Users.Find(userId);
                var                    userroleAdmin          = helper.IsUserInRole(userId, "Admin") || helper.IsUserInRole(userId, "Administrator");
                var                    userroleDeveloper      = helper.IsUserInRole(userId, "Developer1") || helper.IsUserInRole(userId, "Developer2") || helper.IsUserInRole(userId, "Developer3") || helper.IsUserInRole(userId, "Developer4");
                var                    userroleProjectManager = helper.IsUserInRole(userId, "Project Manager1") || helper.IsUserInRole(userId, "Project Manager2") || helper.IsUserInRole(userId, "Project Manager3");
                var                    userroleSubmitter      = helper.IsUserInRole(userId, "Submitter");
                List <Project>         DeveloperProjects      = new List <Project>();
                List <ApplicationUser> Developers             = helper.UsersInRole("Developer1").Concat(helper.UsersInRole("Developer2")).Concat(helper.UsersInRole("Developer3")).Concat(helper.UsersInRole("Developer4")).ToList();



                List <Project> userprojects = new List <Project>();
                foreach (var project in db.Projects)
                {
                    if (ph.IsUserOnAProject(userId, project.Id))
                    {
                        userprojects.Add(project);
                    }
                }

                ViewBag.projectcount = userprojects.Count();


                List <Ticket> usertickets = new List <Ticket>();

                if (helper.IsUserInRole(userId, "Admin") || helper.IsUserInRole(userId, "Administrator"))
                {
                    foreach (var ticket in db.Tickets)
                    {
                        usertickets.Add(ticket);
                    }
                    ViewBag.ticketcount = usertickets.Count();
                }

                else if (userroleProjectManager)
                {
                    List <Project> UserProjects = new List <Project>();
                    foreach (var x in db.Projects)
                    {
                        if (ph.IsUserOnAProject(userId, x.Id))
                        {
                            UserProjects.Add(x);
                        }
                    }

                    foreach (var project in UserProjects)
                    {
                        foreach (var ticket in project.Tickets)
                        {
                            usertickets.Add(ticket);
                        }
                    }
                    var nonarchivedtickets = usertickets.Where(t => t.TicketStatus.Name != "Archived");
                    var urgenttickets      = nonarchivedtickets.Where(t => t.TicketPriority.Name == "Urgent");
                    ViewBag.ticketcount       = nonarchivedtickets.Count();
                    ViewBag.urgentticketcount = urgenttickets.Count();
                }


                else if (userroleDeveloper)
                {
                    List <Project> UserProjects = new List <Project>();
                    foreach (var x in db.Projects)
                    {
                        if (ph.IsUserOnAProject(userId, x.Id))
                        {
                            UserProjects.Add(x);
                        }
                    }

                    foreach (var project in UserProjects)
                    {
                        foreach (var ticket in project.Tickets)
                        {
                            usertickets.Add(ticket);
                        }
                    }
                    var nonarchivedtickets = usertickets.Where(t => t.TicketStatus.Name != "Archived");

                    ViewBag.ticketcount = nonarchivedtickets.Count();
                }

                else if (userroleSubmitter)
                {
                    var tickets = db.Tickets.Where(t => t.SubmitterUserId == userId).ToList();

                    var nonarchivedtickets = tickets.Where(t => t.TicketStatus.Name != "Archived");
                    ViewBag.ticketcount = nonarchivedtickets.Count();
                }

                return(PartialView("~/Areas/BugTracker/Views/Shared/_LayoutPartial.cshtml", vm));
            }

            return(RedirectToAction("Index", "Home", new { area = "BugTracker" }));
        }