コード例 #1
0
        public async Task <IActionResult> UpdateRole([FromBody] UpdateIdentity objUpdateIdentity)
        {
            try
            {
                PayoutRole payoutRole = await _roleManager.FindByNameAsync(objUpdateIdentity.id);

                PropertyInfo prop = payoutRole.GetType().GetProperty(objUpdateIdentity.colName, BindingFlags.Public | BindingFlags.Instance);
                if (null != prop && prop.CanWrite)
                {
                    prop.SetValue(payoutRole, objUpdateIdentity.colValue, null);
                }

                //payoutRole.IsDisabled = true;

                var resultUpd = await _roleManager.UpdateAsync(payoutRole);

                if (resultUpd.Succeeded)
                {
                    return(Ok(resultUpd));
                }

                foreach (var error in resultUpd.Errors)
                {
                    ModelState.AddModelError("error", error.Description);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"error while updating Role: {ex}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while updating Role: " + ex.Message));
            }

            return(BadRequest());
        }