public static CartItem[] GetCartItemsByCartID(int cart_id)
    {
        List<CartItem> items = new List<CartItem>();

        CartDB db = new CartDB();
        DataSet ds = db.CartGetAllItems(cart_id);

        if (ds != null)
        {
            using (DataTableReader data = ds.CreateDataReader())
            {
                while (data.Read())
                {
                    int cartitemid = data.GetInt32(data.GetOrdinal("CartContentsId"));
                    int cartid = data.GetInt32(data.GetOrdinal("CartId"));
                    int producttitleid = data.GetInt32(data.GetOrdinal("ProductTitleId"));
                    string productsku = data.GetString(data.GetOrdinal("ProductSKU"));
                    int quantity = data.GetInt32(data.GetOrdinal("Quantity"));
                    decimal unitprice = data.GetDecimal(data.GetOrdinal("UnitPrice"));
                    decimal subtotal = data.GetDecimal(data.GetOrdinal("SubTotal"));
                    int linenumber = data.GetInt32(data.GetOrdinal("LineNumber"));
                    bool is_student = (int)data.GetValue(data.GetOrdinal("IsStudent")) == 1;
                    bool is_bulk = (int)data.GetValue(data.GetOrdinal("IsBulk")) == 1;
                    DateTime datecreated = data.GetDateTime(data.GetOrdinal("DateCreated"));
                    DateTime lastupdated = data.GetDateTime(data.GetOrdinal("LastUpdated"));

                    CartItem item = new CartItem(cartitemid, cartid, producttitleid, productsku, quantity, unitprice, subtotal, linenumber,is_bulk, is_student, datecreated, lastupdated);
                    items.Add(item);
                }
            }
        }

        return items.ToArray();
    }