Example #1
0
        public async Task <IActionResult> Update(string id, [FromBody] View.UserPatchInfo userToUpdate)
        {
            var user   = UserConverter.ConvertPatchInfo(userToUpdate);
            var guidId = Guid.Parse(id);

            Guid.TryParse(HttpContext.User.Identity.Name, out var userId);

            if (userId != guidId)
            {
                return(BadRequest(new { message = "Запрещено для этого пользователя" }));
            }

            user.Id = guidId;

            try
            {
                await userService.UpdateAsync(user, userToUpdate.Password);

                return(Ok());
            }
            catch (AppException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
Example #2
0
        public IActionResult Update(string id, [FromBody] View.UserPatchInfo userToUpdate)
        {
            var user   = UserConverter.ConvertPatchInfo(userToUpdate);
            var guidId = Guid.Parse(id);

            user.Id = guidId;

            try
            {
                userService.Update(user, userToUpdate.Password);
                return(Ok());
            }
            catch (AppException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
Example #3
0
        /// <summary>
        /// Переводит информацию для редактирования пользователя из клиентской модели в серверную
        /// </summary>
        /// <param name="viewUser">Пользователь в клиентской модели</param>
        /// <returns>Пользователь в серверной модели</returns>
        public static Model.UserPatchInfo ConvertPatchInfo(View.UserPatchInfo viewUser)
        {
            if (viewUser == null)
            {
                throw new ArgumentNullException(nameof(viewUser));
            }

            var clientUser = new Model.UserPatchInfo()
            {
                EmailAdress = viewUser.EmailAdress,
                Login       = viewUser.Login,
                Password    = viewUser.Password,
                FirstName   = viewUser.FirstName,
                LastName    = viewUser.LastName,
                Id          = Guid.Empty
            };

            return(clientUser);
        }