in src/Modules/SimplCommerce.Module.Core/Extensions/WorkContext.cs [36:76]
public async Task<User> GetCurrentUser()
{
if (_currentUser != null)
{
return _currentUser;
}
var contextUser = _httpContext.User;
_currentUser = await _userManager.GetUserAsync(contextUser);
if (_currentUser != null)
{
return _currentUser;
}
var userGuid = GetUserGuidFromCookies();
if (userGuid.HasValue)
{
_currentUser = _userRepository.Query().Include(x => x.Roles).FirstOrDefault(x => x.UserGuid == userGuid);
}
if (_currentUser != null && _currentUser.Roles.Count == 1 && _currentUser.Roles.First().RoleId == GuestRoleId)
{
return _currentUser;
}
userGuid = Guid.NewGuid();
var dummyEmail = string.Format("{0}@guest.simplcommerce.com", userGuid);
_currentUser = new User
{
FullName = "Guest",
UserGuid = userGuid.Value,
Email = dummyEmail,
UserName = dummyEmail,
Culture = _configuration.GetValue<string>("Global.DefaultCultureUI") ?? GlobalConfiguration.DefaultCulture
};
var abc = await _userManager.CreateAsync(_currentUser, "1qazZAQ!");
await _userManager.AddToRoleAsync(_currentUser, "guest");
SetUserGuidCookies();
return _currentUser;
}