in App/src/Events-TenantUserApp/Controllers/AccountController.cs [43:99]
public async Task<ActionResult> Login(string tenant, string regEmail)
{
try
{
if (string.IsNullOrWhiteSpace(regEmail))
{
var message = _localizer["Please type your email."];
DisplayMessage(message, "Error");
}
else
{
var tenantDetails = (_catalogRepository.GetTenant(tenant)).Result;
if (tenantDetails != null)
{
SetTenantConfig(tenantDetails.TenantId, tenantDetails.TenantIdInString);
var customer = await _tenantRepository.GetCustomer(regEmail, tenantDetails.TenantId);
if (customer != null)
{
customer.TenantName = tenant;
var userSessions = HttpContext.Session.GetObjectFromJson<List<CustomerModel>>("SessionUsers");
if (userSessions == null)
{
userSessions = new List<CustomerModel>
{
customer
};
HttpContext.Session.SetObjectAsJson("SessionUsers", userSessions);
}
else
{
userSessions.Add(customer);
HttpContext.Session.SetObjectAsJson("SessionUsers", userSessions);
}
}
else
{
var message = _localizer["The user does not exist."];
DisplayMessage(message, "Error");
}
}
else
{
return View("TenantError", tenant);
}
}
}
catch (Exception ex)
{
_logger.LogError(0, ex, "Login failed for tenant {tenant}", tenant);
return View("TenantError", tenant);
}
return Redirect(Request.Headers["Referer"].ToString());
}