Bidesi has been charged with second-degree murder and will appear in court today, the Integrated Homicide Investigation Team has announced.
Bidesi is also charged with second-degree murder in the death of Kacey Rogers, who was shot and killed in his home in February last year.
Neither of the victims was known to police.
McPherson, 28, was shot and killed at a house party on the 13100 block of 67A Avenue in the Newton neighbourhood on the morning of Christmas Eve.
"Bradley’s homicide was random, cold and for no other reason than he was in the wrong place at the wrong time,” said IHIT spokesperson Sgt. Jennifer Pound.
'A young, innocent good man'
His mother Susan Simning said McPherson was a fun-loving family man and was in no way involved in illegal activity, at a news conference organized by police on Monday morning.
"Early the morning of December 24, 2011 I was awoken with a knock on my door. I answered to find two of my son’s friends standing there. I asked where is Brad? I was told he had been shot and was dead," Simning said.
"Hours of hell where endured as family and friends were called to our home awaiting details from the police. When they finally arrived they confirmed that there was a shooting and they were still awaiting identity of the victim and coroners reports.
"Brad was a young, innocent good man with good values, known by his friends as a great guy who was always there for you. The impact of his murder has devastated not only his family but many friends and loved ones.
"The loss of our beloved Bradley has broken our family, he was the link that held us all together,"