public async Task <BaseResponseDto <Basket> > Handle(GetBasketRequest request, CancellationToken cancellationToken) { BaseResponseDto <Basket> response = new BaseResponseDto <Basket>(); try { var basket = await _repository.Where(p => p.UserName == request.UserName) .Include(p => p.Items) .FirstOrDefaultAsync(cancellationToken); if (basket != null) { response.Data = basket; } else { response.Errors.Add("No Basket for this UserName was found."); } } catch (Exception exception) { Console.WriteLine(exception); response.Data = null; response.Errors.Add(exception.Message); } return(response); }
public ActionResult Checkout() { GetCustomerRequest customerRequest = new GetCustomerRequest() { CustomerIdentityToken = _formsAuthentication.GetAuthenticationToken() }; GetCustomerResponse customerResponse = _customerService.GetCustomer(customerRequest); CustomerView customerView = customerResponse.Customer; if (customerView.DeliveryAddressBook.Count() > 0) { OrderConfirmationView orderConfirmationView = new OrderConfirmationView(); GetBasketRequest getBasketRequest = new GetBasketRequest() { BasketId = base.GetBasketId() }; GetBasketResponse basketResponse = _basketService.GetBasket(getBasketRequest); orderConfirmationView.Basket = basketResponse.Basket; orderConfirmationView.DeliveryAddresses = customerView.DeliveryAddressBook; return(View("ConfirmOrder", orderConfirmationView)); } return(AddDeliveryAddress()); }
public async Task <IActionResult> Checkout() { GetCustomerRequest customerRequest = new GetCustomerRequest { CustomerEmail = _cookieAuthentication.GetAuthenticationToken() }; GetCustomerResponse customerResponse = _customerService.GetCustomer(customerRequest); if (customerResponse.CustomerFound) { CustomerView customerView = customerResponse.Customer; if (customerView.DeliveryAddressBook.Any()) { OrderConfirmationView orderConfirmationView = new OrderConfirmationView(); GetBasketRequest getBasketRequest = new GetBasketRequest { BasketId = GetBasketId() }; GetBasketResponse basketResponse = _basketService.GetBasket(getBasketRequest); orderConfirmationView.Basket = basketResponse.Basket; orderConfirmationView.DeliveryAddresses = customerView.DeliveryAddressBook; return(View("ConfirmOrder", orderConfirmationView)); } return(AddDeliveryAddress()); } else { await _cookieAuthentication.SignOut(); return(RedirectToAction("Register", "AccountRegister")); } }
public OrderConfirmationView getOrderConfirmationView() { GetCustomerRequest customerRequest = new GetCustomerRequest() { CustomerIdentityToken = _formsAuthentication.GetAuthenticationToken() }; GetCustomerResponse customerResponse = _customerService.GetCustomer(customerRequest); CustomerView customerView = customerResponse.Customer; OrderConfirmationView orderConfirmationView = new OrderConfirmationView(); GetBasketRequest getBasketRequest = new GetBasketRequest() { BasketId = base.GetBasketId() }; GetBasketResponse basketResponse = _basketService.GetBasket(getBasketRequest); orderConfirmationView.Basket = basketResponse.Basket; orderConfirmationView.DeliveryAddresses = customerView.DeliveryAddressBook; return(orderConfirmationView); }
public async Task <IActionResult> GetBasket([FromQuery] GetBasketRequest request) { // some logic ... await Task.Delay(1000); return(Ok(request)); }
public ActionResult <OrderConfirmationView> Checkout() { var customerRequest = new GetCustomerRequest() { CustomerIdentityToken = _formsAuthentication.GetAuthenticationToken(HttpContext.User) }; var customerResponse = _customerService.GetCustomer(customerRequest); var customerView = customerResponse.Customer; if (customerView.DeliveryAddressBook.Count() > 0) { var orderConfirmationView = new OrderConfirmationView(); var getBasketRequest = new GetBasketRequest() { BasketId = base.GetBasketId() }; var basketResponse = _basketService.GetBasket(getBasketRequest); orderConfirmationView.Basket = basketResponse.Basket; orderConfirmationView.DeliveryAddresses = customerView.DeliveryAddressBook; return(orderConfirmationView); } return(AddDeliveryAddress().Result); }
public override async Task <BasketCustomerResponse> GetBasket(GetBasketRequest request, ServerCallContext context) { _logger.LogInformation("Calling GetBasket"); var basket = await GetBasketCustomer() ?? new BasketCustomer(); return(MapBasketCustomerResponse(basket)); }
public async Task <IActionResult> Get(int userId) { var request = new GetBasketRequest { UserId = userId }; var response = await _mediator.Send(request); return(Ok(response)); }
public async Task <IActionResult> Get(Guid id) { var request = new GetBasketRequest { Id = id }; var basket = await _mediator.Send(request); if (basket == null) { return(NotFound()); } return(Ok(basket)); }
public void GetCacheKeyTest() { var request = new GetBasketRequest { Id = 4711, PricelistSeed = "1,2", CultureCode = "sv", CurrencyId = "2" }; var key = request.GetCacheKey(); Assert.AreEqual("GetBasket:4711:1,2:sv:2:", key); }
public IActionResult Detail() { BasketDetailView basketView = new BasketDetailView(); Guid basketId = GetBasketId(); GetBasketRequest basketRequest = new GetBasketRequest() { BasketId = basketId }; GetBasketResponse basketResponse = _basketService.GetBasket(basketRequest); GetAllDispatchOptionsResponse dispatchOptionsResponse = _basketService.GetAllDispatchOptions(); basketView.Basket = basketResponse.Basket; basketView.Categories = GetCategories(); basketView.BasketSummary = GetBasketSummaryView(); basketView.DeliveryOptions = dispatchOptionsResponse.DeliveryOptions; return(View("View", basketView)); }
public GetBasketResponse GetBasket(GetBasketRequest basketRequest) { GetBasketResponse response = new GetBasketResponse(); Basket basket = _basketRepository.FindBy(basketRequest.BasketId); BasketView basketView = null; if (basket != null) { basketView = _mapper.Map <Basket, BasketView>(basket); } else { basketView = new BasketView(); } response.Basket = basketView; return(response); }
public ActionResult <BasketDetailView> Detail() { var basketView = new BasketDetailView(); var basketId = base.GetBasketId(); var basketRequest = new GetBasketRequest() { BasketId = basketId }; var basketResponse = _basketService.GetBasket(basketRequest); var dispatchOptionsResponse = _basketService.GetAllDispatchOptions(); basketView.Basket = basketResponse.Basket; basketView.Categories = base.GetCategories(); basketView.BasketSummary = base.GetBasketSummaryView(); basketView.DeliveryOptions = dispatchOptionsResponse.DeliveryOptions; return(basketView); }
public GetBasketResponse GetBasket(GetBasketRequest request) { GetBasketResponse response = new GetBasketResponse(); Basket basket = _basketRepository.FindBy(request.BasketId); BasketView basketView; if (basket != null) { basketView = basket.ConvertToBasketView(); } else { basketView = new BasketView(); } response.Basket = basketView; return(response); }
/// <summary> /// Kullanıcının sepet bilgilerini çeker. Cache'de bilgi yok ise DB'den getir /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <List <BasketDto> > Handle(GetBasketRequest request, CancellationToken cancellationToken) { //ToDo: Cache ile kontrol edilebilir. var anyUser = await _userRepo.AnyAsync(p => p.Id == request.UserId); if (!anyUser) { throw new ArgumentNullException("User Id not found.");//ToDo: Bu hata alındığında, bu UserId ile kayıtlı sepet verileri kaldırılabilir.(In-Progress event ile) } string basketCacheKey = CacheKeyTemplate.BASKET_ID_KEY_TEMPLATE.Replace("#UserId#", request.UserId.ToString()); var basketItems = _cacheManager.Get <List <Basket> >(basketCacheKey); if (basketItems == null || basketItems.Count <= 0) { var result = await _basketRepo.WhereAsync(p => p.UserId == request.UserId); basketItems = result.ToList(); } var basketDtos = basketItems.Select(s => _mapManager.Map <Basket, BasketDto>(s)).ToList(); return(basketDtos); }
public GetBasketResponse GetBasket(GetBasketRequest request) { var response = new GetBasketResponse(); var basket = _basketRepository.FindBy(request.BasketId); BasketView basketView; if (basket == null) { throw new BasketDoesNotExistException(); } basketView = basket.ToBasketView(); //if (basket != null) // basketView = basket.ToBasketView(); //else // basketView = new BasketView(); response.Basket = basketView; return(response); }
public async Task <BaseResponseDto <Basket> > GetBasketAsync(GetBasketRequest request) { return(await _mediator.Send(request)); }