Exemplo n.º 1
0
        /// <summary>
        /// 保存权限
        /// </summary>
        /// <param name="request">请求</param>
        public async Task SaveAsync(SavePermissionRequest request)
        {
            var roleId = request.RoleId.SafeValue();
            await PermissionManager.SaveAsync(request.ApplicationId.SafeValue(), roleId, request.ResourceIds.ToGuidList(), request.IsDeny.SafeValue());

            await UnitOfWork.CommitAsync();
        }
        public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data)
        {
            string connectionstring = "server=DESKTOP-I9HJM7B; Database=DuAnWebApi_Angular; uid=DamNgocSon ; pwd =123 ;";

            if (ModelState.IsValid)
            {
                _permissionService.DeleteAll(data.FunctionId);
                _permissionService.SaveChange();
                Permission permission = null;
                foreach (var item in data.Permissions)
                {
                    permission = new Permission();
                    permission.UpdatePermission(item);
                    permission.FunctionId = data.FunctionId;
                    _permissionService.Add(permission);
                }
                var functions = _functionService.GetAllWithParentID(data.FunctionId);
                if (functions.Any())
                {
                    using (SqlConnection conn = new SqlConnection(connectionstring))
                    {
                        foreach (var item in functions)
                        {
                            conn.Open();
                            SqlCommand sqlCommand = new SqlCommand("DeletePermissionWithFunctionId", conn);
                            sqlCommand.CommandType = CommandType.StoredProcedure;

                            sqlCommand.ExecuteNonQuery();
                            conn.Close();
                            foreach (var p in data.Permissions)
                            {
                                var childPermission = new Permission();
                                childPermission.FunctionId = item.ID;
                                childPermission.RoleId     = p.RoleId;
                                childPermission.CanRead    = p.CanRead;
                                childPermission.CanCreate  = p.CanCreate;
                                childPermission.CanDelete  = p.CanDelete;
                                childPermission.CanUpdate  = p.CanUpdate;
                                _permissionService.Add(childPermission);
                            }
                        }
                    }
                }
                try
                {
                    _permissionService.SaveChange();
                    return(request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành cống"));
                }
                catch (Exception ex)
                {
                    return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
                }
            }
            else
            {
                return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
Exemplo n.º 3
0
        public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data)
        {
            if (ModelState.IsValid)
            {
                _permissionService.DeleteAll(data.FunctionId);

                Permission permission = null;
                foreach (var item in data.Permissions)
                {
                    string[] result = JsonConvert.DeserializeObject<string[]>(item.RoleId);
                    foreach (var role in result)
                    {
                        var roleId = AppRoleManager.Roles.Where(x => x.Name == role.ToString()).FirstOrDefault();
                        item.RoleId = roleId.Id;
                        permission = new Permission();
                        permission.UpdatePermission(item);
                        permission.FunctionId = data.FunctionId;
                        _permissionService.Add(permission);
                    }
                }
                var functions = _functionService.GetAllWithParentID(data.FunctionId);
                if (functions.Any())
                {
                    foreach (var item in functions)
                    {
                        _permissionService.DeleteAll(item.ID);

                        foreach (var p in data.Permissions)
                        {
                            var childPermission = new Permission();
                            childPermission.FunctionId = item.ID;
                            childPermission.RoleId = p.RoleId;
                            childPermission.CanRead = p.CanRead;
                            childPermission.CanCreate = p.CanCreate;
                            childPermission.CanDelete = p.CanDelete;
                            childPermission.CanUpdate = p.CanUpdate;
                            _permissionService.Add(childPermission);
                        }
                    }
                }
                try
                {
                    _permissionService.SaveChange();
                    return request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành cống");
                }
                catch (Exception ex)
                {
                    return request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
                }
            }
            else
            {
                return request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> SavePermission([FromBody] SavePermissionRequest data)
        {
            if (!ModelState.IsValid)
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
                return(new BadRequestObjectResult(allErrors));
            }
            try
            {
                _permissionService.DeleteAll(data.FunctionId);
                foreach (var item in data.Permissions)
                {
                    var permissionVm = new PermissionViewModel()
                    {
                        CanCreate  = item.CanCreate,
                        CanDelete  = item.CanDelete,
                        CanRead    = item.CanRead,
                        CanUpdate  = item.CanUpdate,
                        RoleId     = item.RoleId,
                        FunctionId = data.FunctionId
                    };
                    _permissionService.Add(permissionVm);
                }
                var functions = _functionService.GetAllWithParentId(data.FunctionId);
                if (functions.Any())
                {
                    foreach (var item in functions)
                    {
                        _permissionService.DeleteAll(item.Id);

                        foreach (var p in data.Permissions)
                        {
                            var childPermissionVm = new PermissionViewModel();
                            childPermissionVm.FunctionId = item.Id;
                            childPermissionVm.RoleId     = p.RoleId;
                            childPermissionVm.CanRead    = p.CanRead;
                            childPermissionVm.CanCreate  = p.CanCreate;
                            childPermissionVm.CanDelete  = p.CanDelete;
                            childPermissionVm.CanUpdate  = p.CanUpdate;
                            _permissionService.Add(childPermissionVm);
                        }
                    }
                }
                _permissionService.SaveChange();
                return(new NoContentResult());
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(ex.Message));
            }
        }
Exemplo n.º 5
0
 public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data)
 {
     if (ModelState.IsValid)
     {
         _permissionService.DeleteAll(data.FunctionId);
         Permission permission = null;
         foreach (var item in data.Permissions)
         {
             permission = new Permission();
             permission.UpdatePermission(item);
             permission.FunctionId = data.FunctionId;
             _permissionService.Add(permission);
         }
         var functions = _functionService.GetAllWithParentID(data.FunctionId);
         if (functions.Any())
         {
             foreach (var item in functions)
             {
                 if (_permissionService.CheckContaint(item.ID))
                 {
                     _permissionService.DeleteAll(item.ID);
                 }
                 foreach (var p in data.Permissions)
                 {
                     var childPermission = new Permission();
                     childPermission.FunctionId = item.ID;
                     childPermission.RoleId     = p.RoleId;
                     childPermission.CanRead    = p.CanRead;
                     childPermission.CanCreate  = p.CanCreate;
                     childPermission.CanDelete  = p.CanDelete;
                     childPermission.CanUpdate  = p.CanUpdate;
                     _permissionService.Add(childPermission);
                 }
             }
         }
         try
         {
             _permissionService.SaveChange();
             return(request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành cống"));
         }
         catch (Exception ex)
         {
             return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
         }
     }
     else
     {
         return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
     }
 }
Exemplo n.º 6
0
        public HttpResponseMessage SavePermission(HttpRequestMessage request, SavePermissionRequest data)
        {
            Func <HttpResponseMessage> func = () =>
            {
                HttpResponseMessage response = null;
                if (ModelState.IsValid)
                {
                    _permissionService.DeleteAll(data.FunctionId);
                    foreach (var item in data.Permissions)
                    {
                        Permission permission = new Permission();
                        permission.UpdatePermission(item);
                        permission.FunctionId = data.FunctionId;
                        _permissionService.Add(permission);
                    }
                    var functions = _functionService.GetAllWithParentID(data.FunctionId);
                    if (functions.Any())
                    {
                        foreach (var item in functions)
                        {
                            _permissionService.DeleteAll(item.ID);
                            foreach (var per in data.Permissions)
                            {
                                var permission = new Permission()
                                {
                                    FunctionId = item.ID,
                                    RoleId     = per.RoleId,
                                    CanCreate  = per.CanCreate,
                                    CanRead    = per.CanRead,
                                    CanDelete  = per.CanDelete,
                                    CanUpdate  = per.CanUpdate,
                                };
                                _permissionService.Add(permission);
                            }
                        }
                    }
                    _permissionService.SaveChange();
                    response = request.CreateResponse(HttpStatusCode.OK, "Lưu quyền thành công");
                }
                return(response);
            };

            return(CreateHttpResponse(request, func));
        }
Exemplo n.º 7
0
        public async Task <IActionResult> SavePermission([FromBody] SavePermissionRequest data)
        {
            var hasPermission = await _authorizationService.AuthorizeAsync(User, "FUNCTION", Operations.Create);

            if (hasPermission.Succeeded == false)
            {
                return(new BadRequestObjectResult(CommonConstants.Forbidden));
            }
            if (ModelState.IsValid)
            {
                _permissionService.DeleteAll(data.FunctionId);
                foreach (var permissionVm in data.Permissions)
                {
                    permissionVm.FunctionId = data.FunctionId;
                    Permission permissionDb = new Permission();
                    permissionDb.UpdatePermission(permissionVm);
                    _permissionService.AddDb(permissionDb);
                }
                List <FunctionViewModel> childFunctions = _functionService.GetAllWithParentId(data.FunctionId);
                if (childFunctions.Count() > 0)
                {
                    foreach (var childFunction in childFunctions)
                    {
                        _permissionService.DeleteAll(childFunction.Id);
                        foreach (var permissionVm in data.Permissions)
                        {
                            permissionVm.FunctionId = childFunction.Id;
                            Permission permissionDb = new Permission();
                            permissionDb.UpdatePermission(permissionVm);
                            _permissionService.AddDb(permissionDb);
                        }
                    }
                }
                _permissionService.SaveChanges();
                return(new OkObjectResult("Success"));
            }
            return(new BadRequestObjectResult(ModelState));
        }
Exemplo n.º 8
0
        public APIResult <bool> SavePermissions(SavePermissionRequest request)
        {
            using (MainEntities ctx = new MainEntities())
            {
                var deleted = ctx.sec_access_right.Where(a => a.role_id == request.role_id && a.model_name == request.screen);

                foreach (sec_access_right itm in deleted)
                {
                    ctx.Entry(itm).State = System.Data.Entity.EntityState.Deleted;
                }

                if (deleted.Count() > 0)
                {
                    ctx.SaveChanges();
                }


                foreach (var m in request.methods)
                {
                    sec_access_right access = new sec_access_right();
                    access.method_name  = m;
                    access.model_name   = request.screen;
                    access.role_id      = request.role_id;
                    access.force_filter = "";

                    ctx.sec_access_right.Add(access);
                }
                if (ctx.SaveChanges() > 0)
                {
                    return(APIResult <bool> .Success(true, "API_SUCCESS"));
                }
            }


            return(APIResult <bool> .Error(ResponseCode.BackendDatabase, "API_ERROR_BAD", false));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> SaveAsync([FromBody] SavePermissionRequest request)
        {
            await PermissionService.SaveAsync(request);

            return(Success());
        }