public async Task Register()

in App/src/Events-TenantUserApp/Controllers/AccountController.cs [123:178]


        public async Task<ActionResult> Register(string tenant, CustomerModel customerModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return RedirectToAction("Index", "Events", new { tenant });
                }

                var tenantDetails = (_catalogRepository.GetTenant(tenant)).Result;
                if (tenantDetails != null)
                {
                    SetTenantConfig(tenantDetails.TenantId, tenantDetails.TenantIdInString);

                    //check if customer already exists
                    var customer = (_tenantRepository.GetCustomer(customerModel.Email, tenantDetails.TenantId)).Result;

                    if (customer == null)
                    {
                        var customerId = await _tenantRepository.AddCustomer(customerModel, tenantDetails.TenantId);
                        customerModel.CustomerId = customerId;
                        customerModel.TenantName = tenant;

                        var userSessions = HttpContext.Session.GetObjectFromJson<List<CustomerModel>>("SessionUsers");
                        if (userSessions == null)
                        {
                            userSessions = new List<CustomerModel>
                        {
                            customerModel
                        };
                            HttpContext.Session.SetObjectAsJson("SessionUsers", userSessions);
                        }
                        else
                        {
                            userSessions.Add(customerModel);
                            HttpContext.Session.SetObjectAsJson("SessionUsers", userSessions);
                        }
                    }
                    else
                    {
                        var message = _localizer["User already exists."];
                        DisplayMessage(message, "Error");
                    }
                }
                else
                {
                    return View("TenantError", tenant);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(0, ex, "Registration failed for tenant {tenant}", tenant);
                return View("TenantError", tenant);
            }
            return Redirect(Request.Headers["Referer"].ToString());
        }