Esempio n. 1
0
        public async Task <IResult> AddToCart(CartViewModel cartView)
        {
            var result = new Result()
            {
                Operation = Operation.Create,
                Status    = Status.Success
            };

            try
            {
                int userDetail = _specificClaim.GetSpecificClaim("Id");
                cartView.UserId = userDetail;
                CartDTO cartDTO = new CartDTO();
                cartDTO.MapFromViewModel(cartView);
                var addItem = await _cartRepository.AddToCart(cartDTO);

                return(addItem);
            }
            catch (Exception e)
            {
                result.Body       = e;
                result.Message    = e.Message;
                result.Status     = Status.Error;
                result.StatusCode = HttpStatusCode.InternalServerError;
                return(result);
            }
        }
Esempio n. 2
0
        public async Task <IResult> UpdateCartQuantity(CartViewModel cartView)
        {
            var result = new Result()
            {
                Operation = Operation.Update,
                Status    = Status.Success
            };

            try
            {
                int userId = _specificClaim.GetSpecificClaim("Id");
                var getPdt = _cartRepository.CheckCart(userId, cartView.ProductId);
                if (getPdt)
                {
                    CartDTO cartDTO = new CartDTO();
                    cartDTO.MapFromViewModel(cartView);
                    var updateCart = await _cartRepository.UpdateCartQuantity(cartDTO);

                    return(updateCart);
                }
                result.Message    = "Prdocut does not exist in cart";
                result.Status     = Status.Fail;
                result.StatusCode = HttpStatusCode.BadRequest;
                return(result);
            }
            catch (Exception e)
            {
                result.Body       = e;
                result.Message    = e.Message;
                result.Status     = Status.Error;
                result.StatusCode = HttpStatusCode.InternalServerError;
                return(result);
            }
        }
Esempio n. 3
0
        public async Task <IResult> MoveFromWishlistToCart(int pdtId)
        {
            var result = new Result()
            {
                Operation = Operation.Read,
                Status    = Status.Success
            };

            try
            {
                int userDetail    = _specificClaim.GetSpecificClaim("Id");
                var checkWishlist = _cartRepository.CheckWishlist(userDetail, pdtId);
                if (checkWishlist)
                {
                    CartViewModel cartView = new CartViewModel()
                    {
                        ProductId = pdtId,
                        Quantity  = 1,
                        UserId    = userDetail
                    };
                    CartDTO cartDTO = new CartDTO();
                    cartDTO.MapFromViewModel(cartView);
                    var addtoCart = await _cartRepository.AddToCart(cartDTO);

                    var deleteFromList = await DeleteFromWishlist(pdtId);

                    return(addtoCart);
                }
                result.Message    = "Product does not exist in wishlist";
                result.Status     = Status.Fail;
                result.StatusCode = HttpStatusCode.BadRequest;
                return(result);
            }
            catch (Exception e)
            {
                result.Body       = e;
                result.Message    = e.Message;
                result.Status     = Status.Error;
                result.StatusCode = HttpStatusCode.InternalServerError;
                return(result);
            }
        }