public virtual IActionResult Resend([FromBody] AccountActivationRequest model) { var response = new AccountActivationResponse { Result = ResultType.Error }; var customer = _customerService.GetCustomerByPhone(model.Mobile); if (customer == null) { response.Messages.Add(_localizationService.GetResource("account.accountactivation.customernotexist")); return(BadRequest(response)); } if (customer.Active) { response.Messages.Add(_localizationService.GetResource("account.accountactivation.customeralreadyactivated")); return(BadRequest(response)); } _genericAttributeService.SaveAttribute(customer, BopCustomerDefaults.AccountActivationTokenAttribute, ""); var verifyCode = CommonHelper.GenerateSmsVerificationCode(); _genericAttributeService.SaveAttribute(customer, BopCustomerDefaults.AccountActivationTokenAttribute, verifyCode); //_workflowMessageService.SendcustomerPhoneValidationMessage(customer, _workContext.WorkingLanguage.Id); response.Result = ResultType.Success; response.Messages.Add($"{_localizationService.GetResource("account.accountactivation.activation.code")} : {verifyCode}"); return(Ok(response)); }
public virtual IActionResult Activate([FromBody] AccountActivationRequest model) { var response = new AccountActivationResponse { Result = ResultType.Error }; var customer = _customerService.GetCustomerByPhone(model.Mobile); if (customer == null) { response.Messages.Add(_localizationService.GetResource("Account.AccountActivation.customerNotExist")); return(BadRequest(response)); } var customerToken = _genericAttributeService.GetAttributesForEntity(customer.Id, customer.GetType().Name) .SingleOrDefault(a => a.Key == BopCustomerDefaults.AccountActivationTokenAttribute); if (!customer.IsValidToken(customerToken, model.Code)) { response.Messages.Add(_localizationService.GetResource("Account.AccountActivation.WrongToken")); return(BadRequest(response)); } //activate customer account customer.Active = true; _customerService.UpdateCustomer(customer); _genericAttributeService.SaveAttribute(customer, BopCustomerDefaults.AccountActivationTokenAttribute, ""); response.Result = ResultType.Success; return(Ok(response)); }