Example #1
0
        public async Task <IActionResult> UpdateAsync(int id, [FromBody] UpdateRolesResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var result = await _RolesService.UpdateAsync(id, resource);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }


            return(Ok(new { msg = "更新成功" }));
        }
Example #2
0
        public async Task <SaveRolesResponse> UpdateAsync(int id, UpdateRolesResource resource)
        {
            try
            {
                var existingRoles = await _RolesRepository.ReadOneAsync(id);

                if (existingRoles == null)
                {
                    return(new SaveRolesResponse("Category not found."));
                }

                var RolePermissions = await _RolePermissionsRepository.ReadAllAsync(existingRoles.role);

                existingRoles.role           = resource.role;
                existingRoles.update_time    = resource.update_time;
                existingRoles.update_user_id = resource.update_user_id;
                await _RolesRepository.UpdateAsync(existingRoles);

                await _RolePermissionsRepository.DeleteAsync(RolePermissions);

                List <RolePermissionsModels> NewRolePermissions = new List <RolePermissionsModels>();

                for (int i = 0; i < resource.permission_id.Length; i++)
                {
                    NewRolePermissions.Add(new RolePermissionsModels()
                    {
                        role_id        = id,
                        permission_id  = resource.permission_id[i],
                        create_user_id = resource.update_user_id,
                        update_user_id = resource.update_user_id,
                        create_time    = DateTime.Now,
                        update_time    = DateTime.Now
                    });
                }

                await _RolePermissionsRepository.CreateAsync(NewRolePermissions);

                return(new SaveRolesResponse(true));
            }
            catch (Exception ex)
            {
                // Do some logging stuff
                return(new SaveRolesResponse($"An error occurred when updating the category: {ex.Message}"));
            }
        }