public JsonResult UpdateRole(Guid roleId, [FromBody] RoleInDTO role)
        {
            var identity   = _contextAccessor.HttpContext.User.Identity;
            var userInfoId = Security.GetUserInfoId(identity);

            if (role == null || roleId == null)
            {
                throw new Exception("Error");
            }
            var status = _roleService.UpdateRole(role, userInfoId);

            return(Json(status));
        }
Beispiel #2
0
        public bool UpdateRole(RoleInDTO role, Guid userInfoId)
        {
            try
            {
                var curentRole = _roleRepository.FindByID(role.RoleId ?? Guid.Empty);

                if (curentRole == null)
                {
                    return(false);
                }
                var roleExists = _roleRepository.FindAll().Any(x => x.Name.ToLower() == role.Name.ToLower() && role.RoleId != role.RoleId);

                if (roleExists)
                {
                    return(false);
                }

                curentRole.Name        = role.Name;
                curentRole.Description = role.Description;
                curentRole.Status      = role.Status;
                curentRole.ModifiedBy  = userInfoId;
                curentRole.ModifiedOn  = Localization.GetUTCDateNow();
                _roleRepository.Update(curentRole);

                var exisitingMappedAccessList = _roleAccessRepository.FindAll().Where(x => x.RoleId == curentRole.RoleId);

                foreach (var exisitingMappedAccess in exisitingMappedAccessList)
                {
                    _roleAccessRepository.Remove(exisitingMappedAccess.RoleAccessId);
                }

                foreach (var mappedRole in role.AccessMappingItems)
                {
                    var roleAccess = new RoleAccess();
                    roleAccess.AccessId = mappedRole.AccessId;
                    roleAccess.RoleId   = curentRole.RoleId;
                    _roleAccessRepository.Add(roleAccess, true);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(true);
        }
Beispiel #3
0
        public bool CreateRole(RoleInDTO role, Guid userInfoId)
        {
            try
            {
                var roleExists = _roleRepository.FindAll().Any(x => x.Name.ToLower() == role.Name.ToLower());

                if (roleExists)
                {
                    return(false);
                }

                var newRole = new Role();
                newRole.Name        = role.Name;
                newRole.Description = role.Description;
                newRole.Status      = role.Status;
                newRole.CreatedOn   = Localization.GetUTCDateNow();
                newRole.CreatedBy   = userInfoId;
                newRole.ModifiedBy  = userInfoId;
                newRole.ModifiedOn  = Localization.GetUTCDateNow();
                newRole.RoleId      = Guid.NewGuid();

                var roleId = _roleRepository.Add(newRole);

                foreach (var mappedRole in role.AccessMappingItems)
                {
                    var roleAccess = new RoleAccess();
                    roleAccess.AccessId   = mappedRole.AccessId;
                    roleAccess.RoleId     = roleId;
                    roleAccess.CreatedBy  = userInfoId;
                    roleAccess.CreatedOn  = Localization.GetUTCDateNow();
                    roleAccess.ModifiedBy = userInfoId;
                    roleAccess.ModifiedOn = Localization.GetUTCDateNow();
                    _roleAccessRepository.Add(roleAccess, true);
                }
            } catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(true);
        }