Hello,
I'm using Web API's to perform some customized stuff in nopCommerce (asset mgmt. of sold goods). The Web API methods receive information from an Android/IoS app. The app has the possibility to create a new user (customer in nop) and therefore I need to do some upfront checking: is the email already in use, does the customer exist,...:
if (!String.IsNullOrWhiteSpace(email))
{
var cust = _customerService.GetCustomerByEmail(email);
if (cust != null)
return EEPC_BadRequest("Email is already registered");
}
When executing this call, the 'Guest account' is created. I've tried to set the _workContext.CurrentCustomer to the build-in SearchEngine account like so:
_workContext.CurrentCustomer = _customerService.GetCustomerBySystemName(SystemCustomerNames.SearchEngine);
However I guess that even the GetCustomerBySystemName() call will generate the Guest account.
So I try to set the _workContext.CurrentCustomer variables individually like so:
_workContext.CurrentCustomer.Active = true;
_workContext.CurrentCustomer.CustomerGuid = new Guid("0f806806-7a1d-4780-b5a6-320ca123c842");
_workContext.CurrentCustomer.Id = 2;
_workContext.CurrentCustomer.Email = "builtin@search_engine_record.com";
_workContext.CurrentCustomer.IsSystemAccount = true;
_workContext.CurrentCustomer.PasswordFormatId = 0;
_workContext.CurrentCustomer.SystemName = SystemCustomerNames.SearchEngine;
_workContext.CurrentCustomer.Username = null;
_workContext.CurrentCustomer.VendorId = 0;
and make the call to GetCustomerByEmail(email), still the guest account gets created.
So simple question: How can I avoid the 'Guest' account gets created in my WebAPI method?
tx for the help!
I'm using Web API's to perform some customized stuff in nopCommerce (asset mgmt. of sold goods). The Web API methods receive information from an Android/IoS app. The app has the possibility to create a new user (customer in nop) and therefore I need to do some upfront checking: is the email already in use, does the customer exist,...:
if (!String.IsNullOrWhiteSpace(email))
{
var cust = _customerService.GetCustomerByEmail(email);
if (cust != null)
return EEPC_BadRequest("Email is already registered");
}
When executing this call, the 'Guest account' is created. I've tried to set the _workContext.CurrentCustomer to the build-in SearchEngine account like so:
_workContext.CurrentCustomer = _customerService.GetCustomerBySystemName(SystemCustomerNames.SearchEngine);
However I guess that even the GetCustomerBySystemName() call will generate the Guest account.
So I try to set the _workContext.CurrentCustomer variables individually like so:
_workContext.CurrentCustomer.Active = true;
_workContext.CurrentCustomer.CustomerGuid = new Guid("0f806806-7a1d-4780-b5a6-320ca123c842");
_workContext.CurrentCustomer.Id = 2;
_workContext.CurrentCustomer.Email = "builtin@search_engine_record.com";
_workContext.CurrentCustomer.IsSystemAccount = true;
_workContext.CurrentCustomer.PasswordFormatId = 0;
_workContext.CurrentCustomer.SystemName = SystemCustomerNames.SearchEngine;
_workContext.CurrentCustomer.Username = null;
_workContext.CurrentCustomer.VendorId = 0;
and make the call to GetCustomerByEmail(email), still the guest account gets created.
So simple question: How can I avoid the 'Guest' account gets created in my WebAPI method?
tx for the help!
Caerels take a look at this post https://www.nopcommerce.com/boards/t/62032/prevent-nopcommerce-from-creating-guest-customer-on-every-api-request.aspx