/// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            UpdateAccountResponse response = new UpdateAccountResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("cloudwatchRoleArn", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.CloudwatchRoleArn = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("throttleSettings", targetDepth))
                {
                    var unmarshaller = ThrottleSettingsUnmarshaller.Instance;
                    response.ThrottleSettings = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
Esempio n. 2
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));
            }
        }
Esempio n. 3
0
        public void UpdateAccount_Success(string name)
        {
            RunInitSql(name, "ConnectionStringAccounts");

            // 1. initializing the session
            InitSession initReq = new InitSession()
            {
                AccountKey   = ConfigurationManager.AppSettings["AccountKey"],
                RequestID    = "D3770630-9532-457D-8EBB-DBF99F6A23D3",
                SessionToken = null
            };

            InitSessionResponse initResp = Post <InitSession, InitSessionResponse>("InitSession", initReq);

            string sessionToken = initResp.SessionToken;

            // 2. update user
            UpdateAccount updateReq = base.PrepareRequest <UpdateAccount>(name);

            updateReq.SessionToken = sessionToken;

            UpdateAccountResponse updateRes = Post <UpdateAccount, UpdateAccountResponse>("UpdateAccount", updateReq);

            RunFinalizeSql(name, "ConnectionStringAccounts");

            Assert.True(updateRes.Success, "Account was not updated - success = false");
            Assert.IsEmpty(updateRes.Errors, "Unexpected errors returned");
        }
Esempio n. 4
0
        public HttpResponseMessage PutTag(AccountViewModel viewModel)
        {
            UpdateAccountResponse response = accountService.UpdateAccount(new UpdateAccountRequest()
            {
                AccountViewModel = viewModel
            });

            return(Request.BuildResponse(response));
        }
        public ResponseBase Any(UpdateAccount request)
        {
            _logger.Log(EErrorType.Info, " ****** Call start: UpdateAccount");
            UpdateAccountResponse response = new UpdateAccountResponse();

            try
            {
                SessionInfo sessionParams = new SessionInfo();
                sessionParams.SessionId = request.SessionToken;

                SessionInfo sessionInfo = _dal.GetSessionInfo(sessionParams, true);
                if (sessionInfo != null)
                {
                    CreateUpdateUserAccountParams updateParams = new CreateUpdateUserAccountParams();
                    updateParams.AccountKey = sessionInfo.AccountKey;
                    updateParams.Email      = request.Email ?? null;
                    updateParams.Name       = request.Name ?? null;
                    updateParams.PwdHash    = !string.IsNullOrEmpty(request.Pwd) ? EncodeUtils.GetPasswordHash(request.Pwd) : null;
                    updateParams.State      = request.State ?? null;

                    _dal.UpdateUserAccount(updateParams);

                    response.Success = true;
                }
                else
                {
                    response.Success = false;
                    response.Errors.Add(new Error()
                    {
                        Code = EErrorCodes.InvalidSession, Type = EErrorType.Error, Message = "Invalid session"
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
                response.Success = false;
                response.Errors.Add(new Error()
                {
                    Code    = EErrorCodes.GeneralError,
                    Type    = EErrorType.Error,
                    Message = string.Format("Unexpected error: {0}", ex.Message)
                });
            }

            _logger.Log(EErrorType.Info, " ****** Call end: UpdateAccount");

            return(response);
        }
Esempio n. 6
0
        public UpdateAccountResponse UpdateAccount(UpdateAccountRequest request)
        {
            UpdateAccountResponse res = new UpdateAccountResponse();

            res = dao.UpdateAccount(new UpdateAccountRequest()
            {
                AccountName = request.AccountName,
                Password    = Securities.SHA1(request.Password),
                AccountType = request.AccountType,
                Address     = request.Address,
                DOB         = request.DOB,
                IDNumber    = request.IDNumber,
                PhoneNumber = request.PhoneNumber,
                Status      = request.Status
            });
            return(res);
        }
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            UpdateAccountResponse response = new UpdateAccountResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Account", targetDepth))
                {
                    var unmarshaller = AccountUnmarshaller.Instance;
                    response.Account = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
Esempio n. 8
0
        public void UpdateAccount_ToUpdateAccount_Success()
        {
            ////AccountViewModel viewModel = AccountMockData.GetUpdatedAccountViewModel();
            //var viewModelList = AccountMockData.AllAccounts(mockRepository).ToList();
            //AccountViewModel viewModel = viewModelList.FirstOrDefault(a => a.AccountID == 1);
            //mockAccountRepository.Setup(cr => cr.Update(It.IsAny<Account>())).Verifiable();
            //UpdateAccountResponse response = accountService.UpdateAccount(new UpdateAccountRequest() { AccountViewModel = viewModel });
            //mockRepository.VerifyAll();
            //Assert.AreEqual("Add at least one Address", response.Exception.Message);

            AccountViewModel viewModel = AccountMockData.GetUpdatedAccountViewModel();

            mockAccountRepository.Setup(cr => cr.Update(It.IsAny <Account>())).Verifiable();
            UpdateAccountResponse response = accountService.UpdateAccount(new UpdateAccountRequest()
            {
                AccountViewModel = viewModel
            });

            mockRepository.VerifyAll();
            Assert.AreEqual(response.Exception, null);
            //Assert.AreEqual("Add at least one Address", response.Exception.Message);
        }
Esempio n. 9
0
        public UpdateAccountResponse UpdateAccount(UpdateAccountRequest request)
        {
            UpdateAccountResponse res = new UpdateAccountResponse();
            string strSP = SqlCommandStore.uspUpdateAccount;

            try
            {
                using (SqlCommand cmd = new SqlCommand(strSP))
                {
                    cmd.Parameters.Add("AccountName", SqlDbType.NVarChar, 100).Value = request.AccountName;
                    cmd.Parameters.Add("AccountType", SqlDbType.Int).Value           = (int)request.AccountType;
                    cmd.Parameters.Add("Address", SqlDbType.NVarChar, 200).Value     = request.Address;
                    cmd.Parameters.Add("DOB", SqlDbType.DateTime).Value             = request.DOB;
                    cmd.Parameters.Add("IDNumber", SqlDbType.NVarChar, 20).Value    = request.IDNumber;
                    cmd.Parameters.Add("Password", SqlDbType.NVarChar, 100).Value   = request.Password;
                    cmd.Parameters.Add("Status", SqlDbType.Int).Value               = (int)request.Status;
                    cmd.Parameters.Add("PhoneNumber", SqlDbType.NVarChar, 20).Value = request.PhoneNumber;

                    cmd.Parameters.Add("@Return", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;

                    DataSet ds = DB.ExecuteSPDataSet(cmd);
                    res.Code = (ReturnCode)Convert.ToInt32(cmd.Parameters["@Return"].Value);

                    if (res.Code != ReturnCode.Success)
                    {
                        DB.RollBackTran();
                        return(res);
                    }
                    DB.CommitTran();
                    return(res);
                }
            }
            catch (Exception ex)
            {
                LogWriter.WriteLogException(ex);
                res.Code = ReturnCode.Success;
                return(res);
            }
        }
        public ResponseBase Any(ResetPassword request)
        {
            _logger.Log(EErrorType.Info, " ****** Call start: ChangePassword");
            UpdateAccountResponse response = new UpdateAccountResponse();

            try
            {
                // getting account details
                GetUserAccountInfoParams accInfoParams = new GetUserAccountInfoParams();
                accInfoParams.Email = request.Email;

                GetUserAccountInfoResult accResult = _dal.GetUserAccountInfo(accInfoParams);
                if (accResult != null && accResult.Success)
                {
                    string newPassword = EncodeUtils.GenerateRandomPassword();
                    // getting account details
                    CreateUpdateUserAccountParams updateParams = new CreateUpdateUserAccountParams();
                    updateParams.AccountKey = accResult.AccountKey;
                    updateParams.Email      = request.Email;
                    updateParams.PwdHash    = EncodeUtils.GetPasswordHash(newPassword);

                    _dal.UpdateUserAccount(updateParams);

                    SendMailResponse mailerResponse = SendPasswordResetNotificationEmail(updateParams.Email, accResult.Name, newPassword);
                    if (!mailerResponse.Success)
                    {
                        response.Errors.Add(new Error()
                        {
                            Code    = EErrorCodes.MailSendFailed,
                            Message = "Mail services returned errors. Check other errors",
                            Type    = EErrorType.Warning
                        });
                        response.Errors.AddRange(mailerResponse.Errors);
                    }

                    response.Success = true;
                }
                else
                {
                    response.Success = false;
                    response.Errors.Add(new Error()
                    {
                        Code = EErrorCodes.UserAccountNotFound, Type = EErrorType.Error, Message = "No account found for the given email"
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
                response.Success = false;
                response.Errors.Add(new Error()
                {
                    Code    = EErrorCodes.GeneralError,
                    Type    = EErrorType.Error,
                    Message = string.Format("Unexpected error: {0}", ex.Message)
                });
            }

            _logger.Log(EErrorType.Info, " ****** Call end: ChangePassword");

            return(response);
        }
        public ResponseBase Any(ChangePassword request)
        {
            _logger.Log(EErrorType.Info, " ****** Call start: ChangePassword");
            UpdateAccountResponse response = new UpdateAccountResponse();

            try
            {
                SessionInfo sessionParams = new SessionInfo();
                sessionParams.SessionId = request.SessionToken;

                SessionInfo sessionInfo = _dal.GetSessionInfo(sessionParams, true);
                if (sessionInfo != null)
                {
                    // updating account details
                    CreateUpdateUserAccountParams updateParams = new CreateUpdateUserAccountParams();
                    updateParams.AccountKey = sessionInfo.AccountKey;
                    updateParams.Email      = request.Email;
                    updateParams.PwdHash    = EncodeUtils.GetPasswordHash(request.Pwd);

                    _dal.UpdateUserAccount(updateParams);

                    // getting account details
                    GetUserAccountInfoParams accInfoParams = new GetUserAccountInfoParams();
                    accInfoParams.AccountKey = sessionInfo.AccountKey;

                    GetUserAccountInfoResult accResult = _dal.GetUserAccountInfo(accInfoParams);
                    if (accResult != null)
                    {
                        SendMailResponse mailerResponse = SendPasswordChangedNotificationEmail(updateParams.Email, accResult.Name);
                        if (!mailerResponse.Success)
                        {
                            response.Errors.Add(new Error()
                            {
                                Code    = EErrorCodes.MailSendFailed,
                                Message = "Mail services returned errors. Check other errors",
                                Type    = EErrorType.Warning
                            });
                            response.Errors.AddRange(mailerResponse.Errors);
                        }
                    }

                    response.Success = true;
                }
                else
                {
                    response.Success = false;
                    response.Errors.Add(new Error()
                    {
                        Code = EErrorCodes.InvalidSession, Type = EErrorType.Error, Message = "Invalid session"
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
                response.Success = false;
                response.Errors.Add(new Error()
                {
                    Code    = EErrorCodes.GeneralError,
                    Type    = EErrorType.Error,
                    Message = string.Format("Unexpected error: {0}", ex.Message)
                });
            }

            _logger.Log(EErrorType.Info, " ****** Call end: ChangePassword");

            return(response);
        }
Esempio n. 12
0
        public async Task <IActionResult> Update([FromBody] UpdateAccountRequest request)
        {
            UpdateAccountResponse response = await _accountService.UpdateAccountAsync(request);

            return(Result(response));
        }
 /// <summary>
 /// Utility function to print response data to the console.
 /// </summary>
 /// <param name="response">
 /// The UpdateAccountResponse to be printed.<see cref="UpdateAccountResponse"/>
 /// </param>
 public void PrintResponse(UpdateAccountResponse response)
 {
     PrintResponse(response.Result, response.RequestErrors);
 }