コード例 #1
0
        public async Task <IActionResult> UpdateAccount(int id, AccountForUpdateDTO accountForUpdate)
        {
            if (User.HasClaim(x => x.Type == ClaimTypes.NameIdentifier))
            {
                var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

                var account = await _repo.GetAccount(userId);

                if (account == null)
                {
                    return(NotFound("User not found in database. Call GET /account/id to register"));
                }

                _mapper.Map(accountForUpdate, account);

                if (await _repo.SaveAll())
                {
                    return(NoContent());
                }
                return(Ok("User already updated, no changes applied"));
            }
            else
            {
                return(Unauthorized("User lacks necessary credentials"));
            }
        }
コード例 #2
0
        public async Task <IActionResult> UpdateAccount(Guid accountId, [FromBody] AccountForUpdateDTO account)
        {
            var accountEntity = HttpContext.Items["account"] as Account;

            _mapper.Map(account, accountEntity);
            await _repository.SaveAsync();

            return(NoContent());
        }
コード例 #3
0
ファイル: AuthRepo.cs プロジェクト: yasuo99/EngriskApi
        public async Task <bool> UpdateAccount(int id, AccountForUpdateDTO accountForUpdateDTO)
        {
            var accountFromDb = await _userManager.FindByIdAsync(id.ToString());

            if (accountFromDb == null)
            {
                return(false);
            }
            _mapper.Map(accountForUpdateDTO, accountFromDb);
            if (await _db.SaveChangesAsync() > 0)
            {
                return(true);
            }
            return(false);
        }
コード例 #4
0
        public async Task <IActionResult> UpdateAccountInfo(int id, AccountForUpdateDTO account)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }
            var accountFromDb = await _repo.GetUser(id);

            if (accountFromDb == null)
            {
                return(NotFound());
            }
            _mapper.Map(accountFromDb, account);
            if (await _repo.SaveAll())
            {
                return(NoContent());
            }
            throw new Exception("Error on updating account information");
        }
コード例 #5
0
        public async Task <IActionResult> UpdateAccount(int accountId, [FromBody] AccountForUpdateDTO accountUpdate)
        {
            try
            {
                if (accountId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
                {
                    return(Unauthorized());
                }
                var result = await _repo.UpdateAccount(accountId, accountUpdate);

                if (result)
                {
                    return(Ok());
                }
                return(NoContent());
            }
            catch (System.Exception e)
            {
                throw e;
            }
        }