Example #1
0
        public ActionResult EditRolePermission(ApplicationRoleView roleViewModel)
        {
            var operations = db.Operations.ToList();
            var role       = RoleManager.FindById(roleViewModel.Id);


            //Validate Operation is required
            if (roleViewModel.SelectedOperation == null || roleViewModel.SelectedOperation.Count() == 0)
            {
                ModelState.AddModelError("", "Please select atleast 1 operation");
                //return View(model);
            }

            try
            {
                if (ModelState.IsValid)
                {
                    var user = UserManager.FindById(User.Identity.GetUserId());

                    role.Name        = string.Format("{0}.{1}", user.OwnerGroupId, roleViewModel.Description);
                    role.Description = roleViewModel.Description;
                    RoleManager.Update(role);
                    var oldOperation = db.RoleOperations.Where(x => x.RoleId == role.Id).ToList();
                    db.RoleOperations.RemoveRange(oldOperation);

                    var newOperation = roleViewModel.SelectedOperation.Select(x =>
                                                                              new RoleOperation()
                    {
                        RoleId      = role.Id,
                        OperationId = x
                    }
                                                                              );

                    db.RoleOperations.AddRange(newOperation);
                    db.SaveChanges();
                    return(RedirectToAction("RoleList"));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            var model = new ApplicationRoleView
            {
                Id            = roleViewModel.Id,
                Name          = roleViewModel.Name,
                Description   = roleViewModel.Description,
                OperationList = operations.Select(s => new SelectListItem
                {
                    Selected = roleViewModel.SelectedOperation == null ? false : roleViewModel.SelectedOperation.Select(x => x).Contains(s.Id),
                    Text     = s.Description,
                    Value    = s.Id
                }).OrderBy(s => s.Text),
            };


            return(View(model));
        }
Example #2
0
        public ActionResult CreateRole()
        {
            var operations = db.Operations.ToList();

            var model = new ApplicationRoleView
            {
                OperationList = operations.Select(s => new SelectListItem
                {
                    Text  = s.Description,
                    Value = s.Id
                }).OrderBy(s => s.Text),
            };

            return(View(model));
        }
Example #3
0
        public async Task <IActionResult> DeleteRole(ApplicationRoleView application)
        {
            string id = application.Id;

            if (!String.IsNullOrEmpty(id))
            {
                ApplicationRole applicationRole = await roleManager.FindByIdAsync(id);

                if (applicationRole != null)
                {
                    IdentityResult roleRuslt = roleManager.DeleteAsync(applicationRole).Result;
                    if (roleRuslt.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
Example #4
0
        public async Task <IActionResult> DeleteRole(string id)
        {
            string          name            = string.Empty;
            ApplicationRole applicationRole = new ApplicationRole();

            if (!String.IsNullOrEmpty(id))
            {
                applicationRole = await roleManager.FindByIdAsync(id);

                if (applicationRole != null)
                {
                    name = applicationRole.Name;
                }
            }
            ApplicationRoleView applicationRoleView = new ApplicationRoleView();

            applicationRoleView.Id   = id;
            applicationRoleView.Name = name;
            return(PartialView("_DeleteRole", applicationRoleView));
        }
Example #5
0
        public ActionResult EditRolePermission(string Id)
        {
            var roleOperation = db.RoleOperations.Where(x => x.RoleId == Id).ToList();
            var role          = RoleManager.FindById(Id);
            var operations    = db.Operations.ToList();

            var model = new ApplicationRoleView
            {
                Id            = role.Id,
                Name          = role.Name,
                Description   = role.Description,
                OperationList = operations.Select(s => new SelectListItem
                {
                    Selected = roleOperation.Select(x => x.OperationId).Contains(s.Id),
                    Text     = s.Description,
                    Value    = s.Id
                }).OrderBy(s => s.Text),
            };

            return(View(model));
        }
Example #6
0
        public ActionResult CreateRole(ApplicationRoleView roleViewModel)
        {
            var operations = db.Operations.ToList();
            var user       = UserManager.FindById(User.Identity.GetUserId());
            var roleName   = string.Format("{0}.{1}", user.OwnerGroupId, roleViewModel.Description);

            if (RoleManager.RoleExists(roleName))
            {
                ModelState.AddModelError("", "Role with the same name is already exists.");
            }

            //Validate Operation is required
            if (roleViewModel.SelectedOperation == null || roleViewModel.SelectedOperation.Count() == 0)
            {
                ModelState.AddModelError("", "Please select atleast 1 operation");
            }

            try
            {
                if (ModelState.IsValid)
                {
                    var roleId = Guid.NewGuid().ToString();

                    var newRole = new ApplicationRole()
                    {
                        Id           = roleId,
                        Name         = string.Format("{0}.{1}", user.OwnerGroupId, roleViewModel.Description),
                        Description  = roleViewModel.Description,
                        OwnerGroupId = user.OwnerGroupId
                    };

                    RoleManager.Create(newRole);

                    var oldOperation = db.RoleOperations.Where(x => x.RoleId == roleId).ToList();
                    db.RoleOperations.RemoveRange(oldOperation);

                    var newOperation = roleViewModel.SelectedOperation.Select(x =>
                                                                              new RoleOperation()
                    {
                        RoleId      = roleId,
                        OperationId = x
                    }
                                                                              );

                    db.RoleOperations.AddRange(newOperation);
                    db.SaveChanges();
                    return(RedirectToAction("RoleList"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            //default display in view
            var model = new ApplicationRoleView
            {
                Name          = roleViewModel.Name,
                OperationList = operations.Select(s => new SelectListItem
                {
                    Selected = roleViewModel.SelectedOperation == null ? false : roleViewModel.SelectedOperation.Select(x => x).Contains(s.Id),
                    Text     = s.Description,
                    Value    = s.Id
                }).OrderBy(s => s.Text),
            };

            return(View(model));
        }