예제 #1
0
        /// <summary>
        /// Add Move Book Details in the database
        /// </summary>
        /// <param name="userID">UserID</param>
        /// <param name="wishListID">WishListID</param>
        /// <param name="wishListBook">Wish List Book Data</param>
        /// <returns>If Data Found return Response Data else null or Exeption</returns>
        public async Task <CartBookResponse> MoveToCart(int userID, int wishListID, WishListBookRequest wishListBook)
        {
            try
            {
                CartBookResponse responseData = null;
                SQLConnection();
                using (SqlCommand cmd = new SqlCommand("MoveBookToCart", conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@UserID", userID);
                    cmd.Parameters.AddWithValue("@WishListID", wishListID);
                    cmd.Parameters.AddWithValue("@BookID", wishListBook.BookID);
                    cmd.Parameters.AddWithValue("@IsMoved", true);

                    conn.Open();
                    SqlDataReader dataReader = await cmd.ExecuteReaderAsync();

                    responseData = CartRepository.BookResponseModel(dataReader);
                };
                return(responseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #2
0
        /// <summary>
        /// Delete Book From the Wish List in the database
        /// </summary>
        /// <param name="userID">User-ID</param>
        /// <param name="wishList">Wish List Data</param>
        /// <returns>If Data Deleted Successfull return true else false or Exception</returns>
        public async Task <bool> DeleteBookFromWishList(int userID, int wishListID, WishListBookRequest wishListBook)
        {
            try
            {
                SQLConnection();
                using (SqlCommand cmd = new SqlCommand("DeleteBookFromWishList", conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@UserID", userID);
                    cmd.Parameters.AddWithValue("@WishListID", wishListID);
                    cmd.Parameters.AddWithValue("@BookID", wishListBook.BookID);

                    conn.Open();
                    int count = await cmd.ExecuteNonQueryAsync();

                    if (count >= 0)
                    {
                        return(true);
                    }
                };
                return(false);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public async Task <IActionResult> MoveToCart(int wishListID, WishListBookRequest wishListBook)
        {
            try
            {
                var user = HttpContext.User;
                if ((user.HasClaim(u => u.Type == "TokenType")) && (user.HasClaim(u => u.Type == "UserRole")))
                {
                    if ((user.Claims.FirstOrDefault(u => u.Type == "TokenType").Value == "login") &&
                        (user.Claims.FirstOrDefault(u => u.Type == "UserRole").Value == "User"))
                    {
                        int userID = Convert.ToInt32(user.Claims.FirstOrDefault(u => u.Type == "UserID").Value);
                        var data   = await _wishListBusiness.MoveToCart(userID, wishListID, wishListBook);

                        if (data != null)
                        {
                            success = true;
                            message = "Book Moved to Cart Successfully";
                            return(Ok(new { success, message, data }));
                        }
                        else
                        {
                            message = "No Book is Present";
                            return(NotFound(new { success, message }));
                        }
                    }
                }
                message = "Token Invalid!";
                return(BadRequest(new { success, message }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { ex.Message }));
            }
        }
        public async Task <IActionResult> AddBookIntoWishList(int wishListID, WishListBookRequest wishListBook)
        {
            try
            {
                var user = HttpContext.User;
                if ((user.HasClaim(u => u.Type == "TokenType")) && (user.HasClaim(u => u.Type == "UserRole")))
                {
                    if ((user.Claims.FirstOrDefault(u => u.Type == "TokenType").Value == "login") &&
                        (user.Claims.FirstOrDefault(u => u.Type == "UserRole").Value == "User"))
                    {
                        int userID = Convert.ToInt32(user.Claims.FirstOrDefault(u => u.Type == "UserID").Value);
                        var data   = await _wishListBusiness.AddBookIntoWishList(userID, wishListID, wishListBook);

                        if (data != null)
                        {
                            success = true;
                            message = "Book Added into Wish List Successfully";
                            return(Ok(new { success, message, data }));
                        }
                        else
                        {
                            message = "No Data Provided";
                            return(NotFound(new { success, message }));
                        }
                    }
                }
                message = "You should login first before adding into cart, Token Invalid!";
                return(BadRequest(new { success, message }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { ex.Message }));
            }
        }
예제 #5
0
 public async Task <CartBookResponse> MoveToCart(int userID, int wishListID, WishListBookRequest wishListBook)
 {
     try
     {
         if (userID <= 0 || wishListBook == null)
         {
             return(null);
         }
         else
         {
             return(await _wishListRepository.MoveToCart(userID, wishListID, wishListBook));
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
예제 #6
0
 public async Task <bool> DeleteBookFromWishList(int userID, int wishListID, WishListBookRequest wishListBook)
 {
     try
     {
         if (userID <= 0 || wishListBook == null)
         {
             return(false);
         }
         else
         {
             return(await _wishListRepository.DeleteBookFromWishList(userID, wishListID, wishListBook));
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }