diff --git a/WF_EF_Api/Contextlib/DbUsersManager.cs b/WF_EF_Api/Contextlib/DbUsersManager.cs index e10ca69..5b127a2 100644 --- a/WF_EF_Api/Contextlib/DbUsersManager.cs +++ b/WF_EF_Api/Contextlib/DbUsersManager.cs @@ -176,6 +176,11 @@ namespace Contextlib u.Password = user.Password; change = true; } + if (user.Lang != u.Lang) + { + u.Lang = user.Lang; + change = true; + } _repo.Update(u); if (change)_context.SaveChanges(); } diff --git a/WF_EF_Api/WfApi/Controllers/UsersController.cs b/WF_EF_Api/WfApi/Controllers/UsersController.cs index 519248b..507d78b 100644 --- a/WF_EF_Api/WfApi/Controllers/UsersController.cs +++ b/WF_EF_Api/WfApi/Controllers/UsersController.cs @@ -523,7 +523,29 @@ namespace WfApi.Controllers } } + [HttpPut("lang")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task UpdateUserLang([FromQuery] int id, [FromBody] TypeLangageDTO lang) + { + try + { + var updateduser=await _user.GetUserById(id); + if (updateduser == null) + { + return BadRequest(new { message = "Player no found." }); + } + updateduser.Lang = lang; + var result = _user.UpdateUser(id, updateduser); + return Ok(result); + } + catch (Exception) + { + return StatusCode((int)HttpStatusCode.InternalServerError, new { message = "Internal server error." }); + } + } //===================================== ROUTE POST =====================================