Не удалось вставить 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);
}

Вышеприведенный код также работает, если для текущего клиента не задана электронная почта.

Другие вопросы по тегам