public override void Execute() { Guard.ArgumentNotNull(_patient, "_patient"); Guard.ArgumentNotNullOrEmpty(_patient.IssuerOfPatientID, "IssuerOfPatientID"); var broker = new BrokerService(); var p = broker.FindPatient(_patient.PatientID, _patient.IssuerOfPatientID); if (p != null) { //deletes patient only and leave the cascade operation to db engine: //broker.DeletePatient(_patient.PatientID, _patient.IssuerOfPatientID); //enforce deleting all logically related records: broker.DeletePatientAndRelatedRecords(_patient.PatientID, _patient.IssuerOfPatientID); } }