public async Task <IActionResult> Register([FromForm] CustomerInfoRequest customerRequest) { if (!ModelState.IsValid) { return(BadRequest()); } var result = await _accountService.RegisterAsync(customerRequest); if (result == null) { ViewData["RegisterNotification"] = "User Register failed!!!"; return(View()); } var claims = new List <Claim> { new Claim(ClaimTypes.Name, result.Customer.FirstName), new Claim(ClaimTypes.Email, result.Customer.Email), new Claim("UserId", result.Customer.Id.ToString()), new Claim("FirstName", result.Customer.FirstName), new Claim("LastName", result.Customer.LastName), new Claim("AccessToken", result.AccessToken), new Claim("RefreshToken", result.RefreshToken), }; var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity)); return(RedirectToAction(nameof(HomeController.Index), "Home")); }
public void WhenGetCustomerInfoRequestFromInvalidXMLString_ThenReturnNullObject() { string xmlString = "<test></test>"; CustomerInfoRequest obj = Serializer.GetCustomerInfoRequest(xmlString); Assert.IsNull(obj); }
public static async Task RunOrchestrator( [OrchestrationTrigger] DurableOrchestrationContext ctx) { var data = ctx.GetInput <EnrollmentHttpRequest>(); var notificationRequest = new RequestNotification(ctx.InstanceId, data.MobileNumber, data.Email, data.FirstName, data.LastName); var customerInfoRequest = new CustomerInfoRequest(data.MobileNumber, ctx.InstanceId, data.Id); await ctx.CallActivityAsync(Activities.StoreCustomerInformation, customerInfoRequest); if (data.Channel == ChannelType.Email) { await ctx.CallActivityAsync(Activities.Email.EnrollmentRequestNotification, notificationRequest); } else { await ctx.CallActivityAsync(Activities.Sms.EnrollmentRequestNotification, notificationRequest); } using (var timeoutCts = new CancellationTokenSource()) { Task <EnrollmentStatusEnum> approvalEvent = ctx.WaitForExternalEvent <EnrollmentStatusEnum>(Events.ApprovalEvent); DateTime reminderDueTime = ctx.CurrentUtcDateTime.AddMinutes(3); Task reminderTimeout = ctx.CreateTimer(reminderDueTime, timeoutCts.Token); if (approvalEvent == await Task.WhenAny(approvalEvent, reminderTimeout)) { var dataStatus = new UpdateStatus(data.Id, data.MobileNumber, approvalEvent.Result, data.Email); await ctx.CallActivityAsync(Activities.UpdateEnrollmentStatus, dataStatus); if (data.Channel == ChannelType.Email) { await ctx.CallActivityAsync(Activities.Email.SendEnrollmentFinishedNotification, dataStatus); } else { await ctx.CallActivityAsync(Activities.Sms.SendEnrollmentFinishedNotification, dataStatus); } timeoutCts.Cancel(); } else { if (data.Channel == ChannelType.Email) { await ctx.CallActivityAsync(Activities.Email.SendReminderEnrollmentNotification, data.Email); } else { await ctx.CallActivityAsync(Activities.Sms.SendReminderEnrollmentNotification, data.MobileNumber); } } await ctx.CallActivityAsync(Activities.CleanCustomerInfoTable, data.MobileNumber); } }
public async Task <IActionResult> UpdateCustomer(int id, [FromBody] CustomerInfoRequest customerRequest) { if (!ModelState.IsValid) { return(BadRequest()); } Customer updatedCustomer = _mapper.Map <Customer>(customerRequest); var result = await _customer.UpdateCustomerAsync(id, updatedCustomer); return(Ok(result)); }
public async Task <IActionResult> AddCustomer([FromBody] CustomerInfoRequest customerRequest) { if (!ModelState.IsValid) { return(BadRequest()); } Customer newCustomer = _mapper.Map <Customer>(customerRequest); var result = await _customer.AddCustomerAsync(newCustomer); return(CreatedAtAction(nameof(GetCustomer), new { id = result.Id }, result)); }
public async Task <IActionResult> Update(int id, [FromBody] CustomerInfoRequest customerInfo) { if (!ModelState.IsValid) { return(BadRequest()); } var(statusCode, result) = await _accountService.UpdateAsync(id, customerInfo); if (result == null) { ViewData["UpdateNotification"] = "Update Error!!!"; } return(StatusCode((int)statusCode, result)); }
public async Task <CustomerLoginResponse> RegisterAsync(CustomerInfoRequest customerRequest) { var uri = API.Authenticate.Register(); var content = new StringContent(JsonSerializer.Serialize(customerRequest), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync(uri, content); if (!response.IsSuccessStatusCode) { return(null); } using var responseStream = await response.Content.ReadAsStreamAsync(); var customerAuthResult = await JsonSerializer.DeserializeAsync <CustomerLoginResponse>(responseStream); return(customerAuthResult); }
public static CustomerInfo RunStoreCustomerInformation( [ActivityTrigger] CustomerInfoRequest customerInfoRequest, ILogger log ) { log.LogInformation($"Storing customer information for user with Phone Number: {customerInfoRequest.Phonenumber}."); var result = new CustomerInfo() { InstanceId = customerInfoRequest.InstanceId, Phonenumber = customerInfoRequest.Phonenumber, RowKey = customerInfoRequest.Phonenumber, PartitionKey = TableStorage.CustomerPK }; return(result); }
public void WhenGetCustomerInfoRequestFromXMLString_ThenReturnCustomerInfoRequestObjectAndImages() { var path = Path.Combine(Directory.GetCurrentDirectory(), "Test"); string[] files = InputOutput.ReadFilesFromFolder(path); Assert.AreEqual(1, files.Length); var file = files[0]; var xmlString = InputOutput.ReadFileContent(file); Assert.IsNotNull(xmlString); CustomerInfoRequest obj = Serializer.GetCustomerInfoRequest(xmlString); Assert.IsNotNull(obj); Assert.IsNotNull(obj.MatchedImage); Assert.IsNotNull(obj.capturedImage); }
public async Task <IActionResult> Register([FromBody] CustomerInfoRequest customerRequest) { if (!ModelState.IsValid) { return(BadRequest()); } var newCustomer = _mapper.Map <Customer>(customerRequest); var result = await _accountService.RegisterAsync(newCustomer); if (result == null) { return(BadRequest()); } logHandler.LogCustomerRegister(result.Customer.Id, result.Customer.Email, "VN", "Web"); return(Ok(new CustomerLoginResponse { Customer = result.Customer, AccessToken = result.JwtResult.AccessToken, RefreshToken = result.JwtResult.RefreshToken.TokenString, })); }
public async Task <(HttpStatusCode, CustomerViewModel)> UpdateAsync(int customerId, CustomerInfoRequest customerRequest) { var uri = API.Customer.UpdateCustomer(customerId); var content = new StringContent(JsonSerializer.Serialize(customerRequest), Encoding.UTF8, "application/json"); var response = await _httpClient.PutAsync(uri, content); var statusCode = response.StatusCode; if (!response.IsSuccessStatusCode) { return(statusCode, null); } using var responseStream = await response.Content.ReadAsStreamAsync(); var result = await JsonSerializer.DeserializeAsync <CustomerViewModel>(responseStream); return(statusCode, result); }