无法在nopcommerce中的UrlRecord表中插入客户SeName

时间:2018-03-16 12:51:03

标签: nopcommerce nopcommerce-3.90

目前我仍然坚持一点,当客户完成其注册过程时,我想要做的是从客户电子邮件地址创建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()方法时,它会抛出一个Object引用而不是设置错误。我不知道它丢失了哪个值。如果有人知道解决方案,请帮帮我。提前致谢..!

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码而无法编译。

ISlugSupported 添加到客户实体并使用此代码后,所有工作

private void GenerateCurrentCustomerSlug()
{
    var slug = _workContext.CurrentCustomer.ValidateSeName(seName: "", name: _workContext.CurrentCustomer.Email, ensureNotEmpty: true);
    _urlRecordService.SaveSlug(_workContext.CurrentCustomer, slug, languageId: 0);
}

如果没有为当前客户设置电子邮件,上述代码也可以使用。