How to check customer role

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
Hace 12 años
Hi All,


How to check in nopCommerce2.30 customer role.

With Regards
Murali
Hace 12 años
Not sure if this answers your question.  If you are talking about a role you added then the following will do:

if (customer.IsInCustomerRole("rolename"))
{
}
Hace 11 años
hi i tried using this code in _ColumnsOne.cshtml and got an error CS0103: The name 'customer' does not exist in the current context

do i need to put additional code in before i can use it? im using nop v 2.6
Hace 11 años
That code won't work in .cshtml files (Views).  Do you have Visual Studio 2010?  Do you know MVC?
Hace 11 años
ah i see, i am a front end developer so i know a little mvc concept but i do not have visual studio
Hace 11 años
The right way (MVC) to do this is in a Controller.  But here's a hack you can put at the top of the View (.cshtml file)


@using Nop.Services.Customers;

@{
    bool customerHasRoleX = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.IsInCustomerRole("X");
}


You can then reference the customerHasRoleX variable - you will need to reference it as @customerHasRoleX, if you are not within the scope of another @{ ...} block
Hace 11 años
I have verion 2.8.  and get error The type or namespace name 'IWorkContext' could not be found (are you missing a using directive or an assembly reference?

I put in the reference @using Nop.Services.Customers, as well
Hace 11 años
try adding

@using Nop.Core
Hace 11 años
Thank you that did it!! Nothing like a break after searching for a week!
Hace 11 años
At the top of the cshtml, I needed:

@using Nop.Core;
@using Nop.Core.Domain.Customers;
@using Nop.Core.Infrastructure;
@using Nop.Services.Customers;


Then in the page I added:

@if (EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.IsInCustomerRole("xx"))
{
     //my stuff
}

Works great, thanks!
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.