Example #1
0
        public async Task <ActionResult> CreatePerm(CreatePermViewModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Values.SelectMany(a => a.Errors);
                TempData["Code"]     = "danger";
                TempData["Head"]     = "Error";
                TempData["Messages"] = errors.Select(a => a.ErrorMessage).ToList();

                return(RedirectToAction("Index", "Dashboard", new { sub = "Perm" }));
            }

            Permission perm = new Permission()
            {
                Name        = model.Name,
                Description = model.Description
            };

            StatusCode result = await _ps.CreatePermissionAsync(model);

            // Parse results
            ParseResults(result, "Permission");

            // Redirect
            return(RedirectToAction("Index", "Dashboard", new { sub = "Perm" }));
        }
Example #2
0
        public async Task <StatusCode> CreateGroupAsync(CreatePermViewModel model)
        {
            // Find Institution
            var inst = _db.Institutions.Find(model.InstId);

            if (inst == null)
            {
                return(StatusCode.ObjectNotFound);
            }

            // Create Group object
            var group = new ApplicationGroup()
            {
                Name        = model.Name,
                Description = model.Description,
                InstId      = inst.Id
            };

            // Parse group permissions
            List <Permission> permissions = new List <Permission>();

            if (!string.IsNullOrEmpty(model.ParentId))
            {
                var parent = _db.Groups.Find(model.ParentId);
                permissions = parent.Permissions.ToList();

                group.Permissions = permissions;
                group.Parent      = parent;
            }

            // Save group in DB
            try
            {
                _db.Groups.Add(group);
                await _db.SaveChangesAsync();

                return(StatusCode.CreateSuccess);
            }
            catch (Exception e)
            {
                return(StatusCode.ExceptionThrown);
            }
        }
Example #3
0
        public async Task <StatusCode> CreatePermissionAsync(CreatePermViewModel model)
        {
            Permission perm = new Permission()
            {
                Name        = model.Name,
                Description = model.Description
            };

            try
            {
                _db.Permissions.Add(perm);
                await _db.SaveChangesAsync();

                return(StatusCode.CreateSuccess);
            }
            catch (Exception e)
            {
                return(StatusCode.ExceptionThrown);
            }
        }
Example #4
0
        public async Task <StatusCode> CreateRoleAsync(CreatePermViewModel model)
        {
            ApplicationRole role = new ApplicationRole()
            {
                Name        = model.Name,
                Description = model.Description
            };

            try
            {
                ApplicationRoleStore roleStore = new ApplicationRoleStore(_db);
                await roleStore.CreateAsync(role);

                return(StatusCode.CreateSuccess);
            }
            catch (Exception e)
            {
                return(StatusCode.ExceptionThrown);
            }
        }
Example #5
0
        public async Task <ActionResult> CreateGroup(CreatePermViewModel model)
        {
            // Validate Model
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Values.SelectMany(a => a.Errors);
                TempData["Code"]     = "danger";
                TempData["Head"]     = "Error";
                TempData["Messages"] = errors.Select(a => a.ErrorMessage).ToList();

                return(Redirect(Request.UrlReferrer.ToString()));
            }

            // Create Group
            StatusCode result = await _ps.CreateGroupAsync(model);

            // Parse results
            ParseResults(result, "Group");

            // Redirect
            return(Redirect(Request.UrlReferrer.ToString()));
        }
Example #6
0
        public async Task <ActionResult> CreateRole(CreatePermViewModel model)
        {
            // Validate model
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Values.SelectMany(a => a.Errors);
                TempData["Code"]     = "danger";
                TempData["Head"]     = "Error";
                TempData["Messages"] = errors.Select(a => a.ErrorMessage).ToList();

                return(RedirectToAction("Index", "Dashboard", new { sub = "Roles" }));
            }

            // Create Role
            StatusCode result = await _ps.CreateRoleAsync(model);

            // Parse results
            ParseResults(result, "Role");

            // Redirect
            return(RedirectToAction("Index", "Dashboard", new { sub = "Roles" }));
        }