public async Task <IActionResult> OrderPage() { var userId = await _cookieHandler.GetClaimFromAuthenticationCookieAsync("UserId"); var cart = _cartService.GetCartContent(); var paymentResult = await _clientService.SendRequestToGatewayAsync(ApiGateways.ApiGateway.PAYMENT_CREATE + "?amount=" + _cartService.CalculateTotalPrice().ToString() + "¤cy=USD", HttpMethod.Get); var payment = await _clientService.ReadResponseAsync <Payment>(paymentResult.Content); _session.SetString("payPalUrl", payment.PayPalLink); var userResult = await _clientService.SendRequestToGatewayAsync(ApiGateways.ApiGateway.GET_USER + userId, HttpMethod.Get); var user = await _clientService.ReadResponseAsync <User>(userResult.Content); OrderViewModel vm = new OrderViewModel { User = user, Payment = payment, Cart = cart }; ViewBag.TotalPrice = _cartService.CalculateTotalPrice(); return(View(vm)); }
public async Task <IActionResult> Update(User user) { if (ModelState.IsValid) { var canBeRegistered = await EmailAvailableForRegistrationAsync(user.Email); if (canBeRegistered) { var loggedInUserId = await _cookieHandler.GetClaimFromAuthenticationCookieAsync("UserId"); var response = await _clientService.SendRequestToGatewayAsync(ApiGateways.ApiGateway.USERS_API_BASEURL + loggedInUserId, HttpMethod.Put, user); if (response.IsSuccessStatusCode) { var updatedUser = await _clientService.ReadResponseAsync <User>(response.Content); TempData["UpdateSuccess"] = "success"; return(RedirectToAction(nameof(Update))); } } else { ViewBag.EmailTaken = "Email Taken"; } } return(View(user)); }
public async Task ValidateJwtTokenStatusAsync() { var isTokenValid = await _cookieHandler.ValidateJwtTokenSessionExpirationAsync(); var refreshToken = _cookieHandler.GetPersistentCookieContent(Cookies.JWT_REFRESH_TOKEN); var loggedInUserId = await _cookieHandler.GetClaimFromAuthenticationCookieAsync("UserId"); if (!isTokenValid && refreshToken != null && loggedInUserId != null) { await SendRequestForNewTokenAndRefreshToken(Guid.Parse(loggedInUserId)); } }
private async Task <Order> ConstructOrderAsync(string paymentId, List <OrderProduct> orderProducts) { var userId = await _cookieHandler.GetClaimFromAuthenticationCookieAsync("UserId"); var order = new Order() { UserId = Guid.Parse(userId), StatusId = 1, TotalPrice = _cartService.CalculateTotalPrice(), PaymentId = paymentId, Date = DateTime.Now, OrderProduct = orderProducts }; return(order); }