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); } }
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); } }
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); } }