Пример #1
0
        public IHttpActionResult PutUserAccounts(UpdateAccountDTO updateAccount)        // UPDATE USER ACCOUNT
        {
            TextResult httpResponse = new TextResult("Account has been updated!", msg); // Http response

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            UserAccountsManager umgr           = new UserAccountsManager();
            UserAccounts        updatedUserAcc = umgr.UpdateAccountDetails(updateAccount); // Function to update account details

            if (updatedUserAcc is null)
            {
                httpResponse.ChangeHTTPMessage("Failed to update account!", msg); // Http response if user entity is null
                return(httpResponse);
            }
            bool entityIsUpdated = umgr.UpdateEntityInDb(updatedUserAcc); // Updating entity in DB

            if (entityIsUpdated.Equals(true))
            {
                return(httpResponse);
            }

            httpResponse.ChangeHTTPMessage("Failed to update account!", msg);
            return(httpResponse);
        }
Пример #2
0
        public async Task <IActionResult> UpdatePassword([FromBody] UpdateAccountDTO model)
        {
            string CurrentUsername     = model.CurrentUsername.ToUpper();
            string CurrentPassword     = model.CurrentPassword.ToUpper();
            string CurrentPasswordHash = CalculateShaPassHash(CurrentUsername, CurrentPassword);

            var user = await _authContext.Account.FirstOrDefaultAsync(acc => acc.Username == model.CurrentUsername && acc.ShaPassHash == CurrentPasswordHash);

            if (user == null)
            {
                return(RequestHandler.BadRequest("Current Password is incorrect. Authentication failed."));
            }

            // Need to change the password as username is used in the hash
            string NewPassword     = model.NewPassword.ToUpper();
            string NewPasswordHash = CalculateShaPassHash(CurrentUsername, NewPassword);

            user.ShaPassHash = NewPasswordHash;
            user.V           = "";
            user.S           = "";

            _authContext.Account.Update(user);
            await _authContext.SaveChangesAsync();

            return(Ok(user.Username));
        }
Пример #3
0
        public async Task <ActionResult <UpdateAccountResponse> > Put([FromHeader] string client, [FromRoute] string id, [FromBody] UpdateAccountRequest request)
        {
            UpdateAccountResponse response = new UpdateAccountResponse();
            string responseCode            = $"UPDATE_{client}_{id}";

            try
            {
                var factory = WalletFactory.Instance.GetAccount(_configuration, true);
                var account = await factory.UpdateGiftcard(client, id, request.CPF);

                var dto = new UpdateAccountDTO
                {
                    AccountID = account.AccountID
                };
                response.StatusCode = "200";
                response.Data       = dto;
                return(Ok(response));
            }
            catch (Exception ex)
            {
                response.StatusCode = "500";
                response.Messages.Add(ResponseMessage.Create(ex, responseCode));
                return(StatusCode(500, response));
            }
        }
Пример #4
0
        public async Task <IActionResult> PatchAsync([FromBody] UpdateAccountDTO model)
        {
            var username = User.Claims.Where(c => c.Type == "username").First().Value;
            await _accountService.UpdateAccountAsync(username, model);

            var result = await _accountService.GetAccountByUsernameAsync(username);

            return(Ok(result));
        }
Пример #5
0
        public async Task UpdateAccountAsync(string username, UpdateAccountDTO model)
        {
            var user = await _dbContext.Users.SingleAsync(x => x.NormalizedUserName == username.ToUpper());

            user.FirstName = model.FirstName;
            user.LastName  = model.LastName;
            user.Sex       = string.IsNullOrWhiteSpace(model.Sex) ? null : model.Sex.First().ToString().ToUpper();

            await _dbContext.SaveChangesAsync();
        }
Пример #6
0
        public UserAccounts UpdateAccountDetails(UpdateAccountDTO userAccInput)         // update account details
        {
            UserAccounts dbUpdatedAcc = GetUserAccountByName(userAccInput.AccountName); // gets user entity with account name

            if (dbUpdatedAcc is null)
            {
                return(dbUpdatedAcc);
            }
            dbUpdatedAcc.customerName = userAccInput.CustomerName; // Uppdates customer name
            dbUpdatedAcc.phoneNumber  = userAccInput.PhoneNumber;  // Updates phonenumber

            return(dbUpdatedAcc);
        }
        public async Task <IActionResult> Update([FromBody] UpdateAccountDTO model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            String userName     = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var    userIdentity = await _userManager.FindByNameAsync(userName);

            if (userIdentity == null)
            {
                return(BadRequest(Errors.AddErrorToModelState("login_failure", "Login please", ModelState)));
            }
            userIdentity.FirstName = model.FirstName;
            userIdentity.LastName  = model.LastName;
            var result = await _userManager.UpdateAsync(userIdentity);

            if (result.Succeeded)
            {
                return(new OkObjectResult("Account seccessfully updated!"));
            }
            return(new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState)));
        }