GetUpsellProducts() throws a null exception if ChildProductId is not found

By Joe Payne at August 09, 2010 08:12
Filed Under: AC7 Articles, Personal, Tech Support

Found an interesting problem with my AbleCommerce 7.0.3 installation after doing a test upgrade to 7.0.5 last night.

My add to cart button wouldn't work after the upgrade.  It kept saying Object reference blah blah blah.  Put everything into the debugger and figured out I have some bad data in the storefront.

I had several (384 to be exact) ChildProductId's assigned to real products in the ac_UpsellProducts table.  Upsells are products that are advertised after the original product is added to the cart.  Obviously you wouldn't want to upsell a product that no longer exists - thus there's a foreign key constraint on the ProductId.  That way, any products that get deleted automatically delete their link in any upsell products and visa versa.

Somehow in my data, that wasn't happening.  I have products assigned as an upsell to a main product, and those products no longer exist.  This was causing addtocartlink.ascx to throw a null reference exception when it hit the GetUpSellProducts method.

Easy fix is to just clean out any bad upsells using this query:

delete ac_upsellproducts
from ac_upsellproducts
left outer join ac_products on ac_upsellproducts.childproductid = ac_products.productid
where ac_products.productid is null

I broke my AbleMods web site inquiry page

By Joe Payne at July 09, 2010 10:47
Filed Under: General News, Personal, Tech Support

Sorry folks, but if you've sent me a message from the Contact Us page on AbleMods.com in the past two weeks, please resend it.

My iPhone was stolen a few weeks ago, so I had to change all my passwords.  By all, I mean like 12-15 different accounts since I had that login information kept on the iPhone.  Apparently when I changed the email passwords for AbleMods.com accounts, I failed to update the AC7 site itself.

My bad :(

 

Possible mystery shopper scam with ShopperSystems

By Joe Payne at June 30, 2010 14:05
Filed Under: Personal

Ok, you're gonna love this one....so make some coffee and enjoy the saga.

My fiance found this ad in a local job listing website for "Mystery Shoppers Needed".  The ad included a bunch of additional keywords not normally associated with a standard job posting.  This surely improved SEO but didn't lend a lot of credibility for being a "real" job listing.

Excited at the possiblity of having found a job, my fiance beamed as she relayed the details to me.  For a mere $ 2.95 "testing fee", she could quickly become qualified to be a mystery shopper in the Indianapolis area.  In fact, she was told there are several jobs available right now !  All that was needed was a credit/debit card to pay for the $ 2.95.

Being the caution one I am, I handed her the smallest debit card I had - maybe $ 100 in the account so no major deal if it's a scam.

Together we made the call to provide the credit card info.  The answering woman was professional and quickly told my fiance she could make up to $ 50 per mystery shopper job.  Then she immediately wanted to confirm my fiance has a valid credit/debit card.  It sounded pretty scripted to me.
My suspicions were aroused further at the background sounds on the other end of the line - definitely a high volume call center and not the quiet, relaxed office enviroment I expected.  The lady quickly confirmed that no additional charges would be made to the card and proceeded to establish my fiances login information to www.shoppersystems.com.    The really weird part was when we waited on hold no less than 35 minutes for a "4 digit security confirmation for our credit card transaction".  I'm still not sure what that was all about but eventually a recorded voice came back stating the transaction was approved.  We hung up at that point.

Having listened to the entire experience first hand myself, I didnt have the warm-fuzzy from a place that charges money to accept an application for employment.  Once the call ended I decided to Google this shoppersystems company and see what comes up.  Sure enough, post after post of scam alerts and warnings came up.  According to most of the posts I saw, there's a $ 49.95 fee that shows up a week or so after the $ 2.95.  Then it becomes very difficult if not impossible to reach someone to cancel/discuss the unknown charge.

Obviously after reading so many other negative experiences and not a single positive one, I called my bank and cancelled the card.  The $ 2.95 charge had already hit the account.  Fortunately the card is now dead and no further monies can be drawn from the account.

Who knows if this was completely legit or not, but I have to stand by the idea that if it sounds too good to be true, it probably is.

We both found it an amazing coincidence that the VERY NEXT DAY my fiance receives a call stating she had won a sweepstakes and wanted to confirm she had a valid debit/credit card.  Sound familiar?  Yeah, we thought the same thing ourselves - SCAM ! :)

BlogEngine.Net upgrade error - Item has already been added

By Joe Payne at June 26, 2010 23:42
Filed Under: Personal

Well I decided it was time to update BlogEngine.Net given I was still on v1.4.5 and I haven't been giving the Blog the love it needs.  So tonight I decided to take the plunge and see what it did.

First, the upgrade files DO overwrite the web.config file in the existing blog folder.  Fine if you're using XML data source but I was using SQL.  So I had to find the Setup folder in the Blog folder and read the instructions on using the SQL-configured web.config file.  Once that was done, it all tied together to my existing blog data.

I did get one error when I tried adding new blog entries "Item has already been added. Key in dictionary: 'Admin' Key being added: 'Admin'"

Wasn't sure where to begin so I googled it - found some discussion on BlogEngine.Net using ASP.Net security role provider.  That means there are three tables involved in BlogEngine.Net:  be_Users, be_UserRoles and be_Roles.  Duplicate dictionary errors mean the code was assuming every entry read into the dictionary would be unique but there was duplicate.  Sure enough, there was a second "Admin" user record created in the be_Users.  Deleting that record solved the problem.

So, now it's fixed and I loaded up a new theme just to have the "new" look-and-feel again.  Now it's time to keep the blog alive a little better than I have in the past :)

Ordered new iPhone

By Joe Payne at July 26, 2009 15:06
Filed Under: Personal
Well I gave up looking in a retail store for a 16gb iPhone 3GS - nobody has 'em.  So I ordered it from the Apple site - now I can anxiously watch for the UPS guy all next week