public async Task <IActionResult> Register(string tenant, GuestModel customerModel) { try { if (!ModelState.IsValid) { return(RedirectToAction("Index", "Bookings", new { tenant })); } var tenantDetails = (_catalogRepository.GetTenantAsync(tenant)).Result; if (tenantDetails != null) { SetTenantConfig(tenantDetails.TenantId, tenantDetails.TenantIdInString); //check if customer already exists var customer = (_tenantRepository.GetGuest(customerModel.Email, tenantDetails.TenantId)).Result; if (customer == null) { var customerId = await _tenantRepository.AddGuestAsync(customerModel, tenantDetails.TenantId); customerModel.GuestId = customerId; customerModel.TenantName = tenant; var userSessions = HttpContext.Session.GetObjectFromJson <List <GuestModel> >("SessionUsers"); if (userSessions == null) { userSessions = new List <GuestModel> { 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(RedirectToAction("Referer"));// (Request.Headers["Referer"].ToString()); }
public void AddCustomerTest() { var result = (_tenantRepository.AddGuestAsync(CreateCustomerModel(), _tenantId)).Result; Assert.Equal(123, result); }
public void Setup() { _tenantRepository = new MockTenantRepository(); _tenantRepository.AddGuestAsync(CreateCustomerModel(), _tenantId); }