Не удалось вставить SeName клиента в таблицу UrlRecord в nopcommerce
В настоящее время я застрял в одном моменте: когда клиент завершает процесс регистрации, я хочу создать SeName из адреса электронной почты клиента и сохранить его в таблице UrlRecord, чтобы я мог включить переход на страницу профиля клиента. Ниже приведен код, который я пробовал до сих пор.
string CustomerSeName = "";
var CustomerModel=_customerService.GetCustomerById(_workContext.CurrentCustomer.Id);
if (CustomerModel != null)
{
CustomerSeName = customer.ValidateSeName(CustomerSeName, CustomerModel.Email, true);
_urlRecordService.SaveSlug(CustomerModel, CustomerSeName, 0);
}
В приведенном выше коде я получаю все значения в CustomerModel и CustomerSeName, но когда он выполняет метод SaveSlug(), он выбрасывает объектную ссылку, а не установленную ошибку. Я не знаю, какое значение это отсутствует. Пожалуйста, помогите мне, если кто-то знает решение. Заранее спасибо..!
1 ответ
Я попробовал ваш код и не смог скомпилировать.
После добавления ISlugSupported в сущность Customer и использования этого кода все заработало
private void GenerateCurrentCustomerSlug()
{
var slug = _workContext.CurrentCustomer.ValidateSeName(seName: "", name: _workContext.CurrentCustomer.Email, ensureNotEmpty: true);
_urlRecordService.SaveSlug(_workContext.CurrentCustomer, slug, languageId: 0);
}
Вышеприведенный код также работает, если для текущего клиента не задана электронная почта.