After more than two years of delays, Judge Andrea Dryer accepted a plea agreement from Chris Soules, sentencing him to a suspended prison sentence of two years and two years of probation for his role in a 2017 traffic crash that killed a northeast Iowa man.

Defense attorneys and prosecutors agreed to the sentence in court documents on Friday, but Dryers order officially ends the years long case. Soules, a former star of ABC's “The Bachelor,” will also pay the minimum fine of $625 plus applicable court costs.

A sentencing hearing had been scheduled for Tuesday, but Soules waived his right to the public appearance in the paperwork agreeing to the sentence and the fine.

Originally charged with leaving the scene of a deadly accident — a felony that carries a sentence of up to five years in prison — Soules avoided trial by pleading guilty last year to the lesser charge of leaving the scene of a personal injury accident. The charge, an aggravated misdemeanor, carries a maximum sentence of two years in prison.

► More: What to know about Chris Soules' sentencing agreement with prosecutors

Soules and his parents, Gary and Linda, previously paid $2.5 million to settle a wrongful death lawsuit brought by the family of Kenneth Mosher, 66, of Aurora, whodied from injuries sustained in the April 2017 crash.

The settlement, which was approved within three days of its January filing, headed off any civil litigation about the culpability of the Soules family and their insurer, Grinnell Mutual Reinsurance Co., in Mosher's death.

Soules administered CPR on the scene, called 911, identified himself as the driver of the car and waited for the paramedics to arrive. But he left the scene before providing a statement to police.

Prosecutors maintained throughout the case that leaving before providing a statement to an officer was a violation of Iowa law, but the defense called the law unconstitutional and a violation of the right to be free of unreasonable seizures.

Defense attorneys, prosecutors and a representative for Soules declined to comment on the settlement Friday. Calls to Nancy Mosher, Kenneth's wife, were not returned.

While he had not had the opportunity to read through all of the court documents, Robert Rigg, director of the criminal defense program at Drake University, called the sentence “reasonable.”

“Most folks in Iowa, they kind of resent folks who have that much publicity, so there’s this automatic assumption that they’re getting something they don’t deserve,” he said. “In fact, if you look at the facts of the case and look at the potential sentencing, it’s a reasonable situation and a reasonable plea.”

What happened that night?

Soules’ 2008 Chevy pickup rear-ended the 2640 John Deere tractor Mosher was driving just before 8:20 p.m. on April 24, 2017.

It was dusk during a busy planting season, and Mosher, like many farmers, was working late to get crops in. Heading northbound on Buchanan County Road W45, Mosher was about one mile from his house in Aurora, a tiny northeast Iowa town of 185, when the crash occurred.

The tractor rolled into the east ditch and Soules’ car went into the west, according to the crash report.

Despite Soules’ airbag deploying, it "did not prevent Mr. Soules from hitting his head on the windshield so hard that it shattered,” court documents said. Later diagnosed with a concussion, Soules didn’t initially seem injured at the crash site and began to offer aid.

Mosher, who was thrown from the tractor, didn’t “appear” to be breathing, Soules told 911 dispatchers.

Identifying himself to the dispatcher, Soules and others who had arrived on the scene administered CPR until the compressions caused blood to come from Mosher's mouth, court documents said.

After a five-minute conversation, Soules asked the dispatcher if he could call her back and disconnected. He remained on the scene until paramedics arrived and he had directed them to Mosher.

Mosher was taken to the Mercy hospital in Oelwein, where he was pronounced dead.

After paramedics arrived, but before law enforcement did, Soules left the scene on foot. He was picked up by an unidentified person and driven back to his house in rural Arlington, six miles from the crash site.

When police came to his home to arrest Soules, the former reality TV star would not leave his home until they'd obtained a search warrant.

Two deputies waited outside Soules' home during the five hours it took to obtain the warrant, eventually taking him into custody at about 1 a.m. April 25.

The warrants, which remain under seal, allowed officers to search Soules’ home and a red truck in which he allegedly rode away from the scene, and to obtain blood and urine samples.

After an April 25 hearing, Linda Soules, Chris’ mother, posted a $10,000 bond, and he was released from jail.

Within a week, defense attorneys and prosecutors began to reveal bits of new information in long court filings, setting what would become the norm throughout the case.

Was he drinking?

Almost immediately after the crash, Soules’ celebrity status vaulted the story into the national spotlight. TMZ began calling neighbors, and TV cameras descended on both Arlington and Aurora.

Rumors and facts became intertwined, Soules’ then-publicist said in a statement.

“Neither Mr. Soules nor his legal counsel will be responding to the numerous tabloid-style articles and journalists who have been reporting false and misleading stories,” the statement said, without specifying how any published accounts were inaccurate.

Even though Soules wasn’t charged with an alcohol-related offense, the biggest question on Twitter seemed to be whether Soules had been drinking before the crash.

In a May 2 filing, the prosecution, led by Buchanan County Attorney Shawn Harden and Iowa Assistant Attorney General Scott Brown, fanned those flames by noting that Soules was seen buying alcohol at a convenience store “shortly before the crash.”

The prosecution also accused Soules of not providing an "explanation of the empty and partially consumed open alcoholic beverages located in and around his vehicle that he was seen purchasing."

Soules lawyers declined to comment at the time, instead choosing to wait for an official toxicology report from the Iowa Department of Criminal Investigations, which came in June.

"The DCI conducted thorough toxicology testing on two separate samples — his urine and blood — and conclusively determined no detectable amounts of alcohol or drugs were in either specimen," the filing said.

Legalese takes center stage

Over the next two years of hearings and motions, the Soules case dove into the legal weeds, turning on specific Iowa code wording and complex constitutional arguments.

The prosecution originally argued that Soules had violated an Iowa law that requires a driver involved in a fatal crash to remain "at the scene of the accident except to seek necessary aid or to report the accident to law enforcement authorities."

If the driver leaves the scene to report the crash or seek aid, the law continues, he or she should "immediately return to the scene of the accident or inform the law enforcement authorities where the surviving driver can be located."

In September 2017, Soules’ lawyers filed a motion to dismiss the case, saying the Iowa law he was charged with breaking was unconstitutional.

The obligation to remain at the scene or report one’s whereabouts amounts to self-incrimination, defense attorneys argued, infringes on Soules' right to be free from unreasonable seizures, which is protected by the Fourth Amendment, and his right to due process, protected by the 14th Amendment.

Defense attorneys also argued that Soules satisfied the intent of the law by calling 911, identifying himself and tending to Mosher’s medical needs.

"Chris Soules did the morally responsible thing here," said Robert Montgomery, one of Soules’ lawyers. Soules "did everything he could for the victim of this accident, Mr. Mosher."

Dryer, the judge in the case, sided with the prosecution, saying the letter of the law was clear and did not violate Soules' constitutional rights.

"All surviving drivers involved in an accident causing the death of a person must remain at the accident scene until law enforcement authorities have responded to the required immediate accident report, arrived at the accident scene, and had the opportunity to see the surviving drivers," she wrote.

Soules’ lawyers unsuccessfully appealed her ruling to the Iowa Supreme Court.

'An unavoidable accident'

After the appeal, Soules pleaded guilty to the lesser charge of leaving the scene of a personal injury accident, acknowledging he failed to provide his vehicle's registration number to 911 dispatch or law enforcement as required by Iowa law.

But in court documents filed last year, Soules' attorneys seemed to question other portions of the investigation.

Neither Soules nor an independent witness to the crash saw any lights on Mosher's tractor before the collision, said Brandon Brown, one of Soules' lawyers. By law, the tractor would have been required to display flashing amber lights, the affidavit stated.

Mosher was driving as slow as 6 mph, Brown's affidavit states. Soules was driving his truck below the posted 55 mph speed limit, and Brown said experts concluded Soules acted reasonably, given the circumstances.

"Mr. Soules found himself in an unavoidable accident," Brown's affidavit stated.

Soules appeared on "The Bachelor" in 2015, where his roots as a farmer in rural Arlington played a prominent role and earned him the nickname "Prince Farming." He went on to appear on Season 20 of “Dancing With the Stars” and a season of “Worst Chefs in America: Celebrity Edition.”

Before reality TV, Soules worked for Summit Ag Investors and helped on his family's farms.

In high school, Soules was involved in football, track and Future Farmers of America. When he was a senior, the Starmont High football team was runner-up in the state championship.

When the "Bachelor" was still on the air, many in Soules' small town said he was the type to offer help to anyone who needed it.

"He wasn't very big in high school, but pound for pound, he's one of the toughest kids we ever had," said Roger Reed, a former football coach. "Whatever you asked him to do, he would do, and most of that is from his upbringing. The expectation in the Soules house is to work."

Soules rejoined social media a year after the crash, but has mostly stayed out of the limelight.

Victim statements blame Soules

Throughout the lengthy court proceedings and investigations, the Moshers have declined to comment on the case or on their loved one.

In May, during what was supposed to be Soules’ sentencing hearing, at least one of Mosher’s sons was prepared to read a victim impact statement. But, once again, specific legal wording took center stage.

Iowa law permits victim impact statements for immediate family members of victims who die as a result of a crime. But Soules pleaded guilty to a charge related only to his actions after the crash — actions that themselves did not result in Mosher's death.

At issue were three statements: one by Nancy Mosher, Kenneth Mosher's wife, and one from each of her sons.

Montgomery, one of Soules’ lawyers, said the sealed statements, which urged the maximum punishment, “make assertions of fact and then assertions of fault based on those facts.”

“All three of them inherently are inextricably premised upon the faulty premise that the death of their husband or their father was the fault of Mr. Soules," Montgomery said.

In making her decision to strike the statements, Dryer said that while reasonable people may see the Moshers as victims, the law defines a victim in this case only as "someone who suffers harm or suffers hurt as a result of the April 2017 crash."

"The individuals who submitted those statements, as I've said, my heart goes out to them," Dryer said.

"I don’t have any question the extent to which they have suffered," she added. "But that is not the test."

Mosher was raised in a farmhouse on the outskirts of Aurora, and he moved back into that same house when his parents retired to Florida. Outside of a tour in Vietnam with the U.S. Army, Mosher spent his whole life with Nancy, his high school sweetheart, in northeast Iowa.

Mosher loved working his farm, and Nancy worked right alongside him, Aurora Mayor David Young said at the time of the crash. Mosher had been a farmer his whole life but had also worked in Oelwein at the Donaldson factory, which produced parts for air conditioners, until it closed in 1999. Nancy had been a secretary at an insurance company in town until she retired about three years ago, Margie Lau, a family friend, said in 2017.

“He was a wonderful person,” Mosher's neighbor Phyllis Lentz said at the time. “He was what all good Christian farmers should be: really humble and hardworking. It’s just so sad when you lose the good people, you know.”

Reporter Anna Spoerre contributed to this story.