public CartFindResponse FindCartById(CartFindRequest request) { var response = new CartFindResponse(); var validationErrors = _cartValidation.CartFindRequestValidation.Validate(request); var dbErrors = new List <DatabaseErrors>(); if (validationErrors.Count != 0) { response.ValidationErrors = validationErrors; } else { try { response.Cart = _cartRepository.ReadById(request); response.Amount = _calculateTotalAmount(response.Cart.ProductsCarts); } catch (SqlException) { dbErrors.Add(DatabaseErrors.DB_CONNECTION_FAILED); } response.DBErrors = dbErrors; } return(response); }
private CartFindRequest getCartById() { CartFindRequest request = new CartFindRequest(); request.CartId = 1; return(request); }
private long _findCartInDB(long id) { var cartFindRequest = new CartFindRequest { CartId = id }; return(FindCartById(cartFindRequest).Cart.Id); }
public Cart ReadById(CartFindRequest request) { using (var _context = new ShoppingListContext()) { _context.Configuration.LazyLoadingEnabled = false; var cart = _context.Cart .Where(c => c.Id == request.CartId) .Include(pc => pc.ProductsCarts.Select(p => p.Product)) .FirstOrDefault(); return(cart); } }
public AddUpdateCartResponse AddToCart(AddUpdateCartRequest request) { var productFindRequest = new ProductFindRequest { ProductId = request.ProductId }; var cartFindRequest = new CartFindRequest { CartId = request.CartId }; var product = _productService.FindById(productFindRequest).FoundProduct; var cart = FindCartById(cartFindRequest).Cart; var validationErrors = _cartValidation.AddProductToCartValidation.Validate(request); var DBErrors = new List <DatabaseErrors>(); var response = new AddUpdateCartResponse(); if (validationErrors.Count != 0) { response.ValidationErrors = validationErrors; } else { try { response.HasAdded = _cartRepository.ToCart(product, cart, request.Quantity); } catch (UniqueKeyViolationException) { DBErrors.Add(DatabaseErrors.DB_DUPLICATE_ENTRY); } response.DBErrors = DBErrors; } return(response); }