Blog.Web.Api.Controllers.UsersController.Put C# (CSharp) Method

Put() private method

private Put ( [ user ) : Task
user [
return Task
        public async Task<IHttpActionResult> Put([FromBody] User user)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return BadRequest(ModelState);
                }

                var identityUser = await UserManager.FindByNameAsync(user.UserName);
                user.IdentityId = identityUser.Id;

                var tUser = _user.Update(user);
                if (tUser.Error != null) throw new Exception(tUser.Error.Message);

                var updatedUser = _user.GetByUserName(user.UserName);
                if (updatedUser.Error != null) throw new Exception(updatedUser.Error.Message);

                updatedUser = HideUserProperties(updatedUser);
                return Ok(updatedUser);
            }
            catch (Exception ex)
            {
                _errorSignaler.SignalFromCurrentContext(ex);
                var errorResult = new User
                {
                    Error = new Error
                    {
                        Id = (int)Common.Utils.Constants.Error.InternalError,
                        Message = "Oops! That's not supposed to happen. Can you try again?"
                    }
                };

                return Ok(errorResult);
            }
        }