コード例 #1
0
        public async Task <IActionResult> EditOtherUser(int id, [FromBody] User_UpdateModel new_data)
        {
            //Get user id from token
            var idClaim = User.Claims.FirstOrDefault(x => x.Type.ToString().Equals("Id"));
            int _id     = int.Parse(idClaim.Value);

            var user = await context.Users.FirstOrDefaultAsync(u => u.UserId == _id);

            if (user != null)
            {
                if ((UserRoles)user.RoleId == UserRoles.Admin)
                {
                    var _user = await context.Users.FirstOrDefaultAsync(u => u.UserId == id);

                    if (_user != null && (UserRoles)_user.RoleId != UserRoles.Admin)
                    {
                        _user.Email       = new_data.Email ?? _user.Email;
                        _user.Name        = new_data.Name ?? _user.Name;
                        _user.Surname     = new_data.Surname ?? _user.Surname;
                        _user.PhoneNumber = new_data.PhoneNumber ?? _user.PhoneNumber;
                        _user.Password    = new_data.Password ?? _user.Password;


                        await context.SaveChangesAsync();

                        return(Ok("User succesfully edited"));
                    }
                    return(BadRequest("Incorrect user Id or user is Admin"));
                }
                return(BadRequest("No permission to user edition"));
            }

            return(Unauthorized());
        }
コード例 #2
0
        public async Task <IActionResult> EditUser([FromBody] User_UpdateModel new_data)
        {
            //Get user id from token
            var idClaim = User.Claims.FirstOrDefault(x => x.Type.ToString().Equals("Id"));
            int id      = int.Parse(idClaim.Value);

            if (!DataHelper.IsPhoneNumber(new_data.PhoneNumber))
            {
                return(BadRequest("Incorrect phone number"));
            }

            var user = await context.Users.FirstOrDefaultAsync(u => u.UserId == id);

            if (user != null)
            {
                user.Email       = new_data.Email ?? user.Email;
                user.Name        = new_data.Name ?? user.Name;
                user.Surname     = new_data.Surname ?? user.Surname;
                user.PhoneNumber = new_data.PhoneNumber ?? user.PhoneNumber;
                user.Password    = new_data.Password ?? user.Password;

                await context.SaveChangesAsync();

                return(Ok(user));
            }

            return(Unauthorized());
        }