public void UpdateScheduledProcedureStep(string scheduledProcedureStepID, WCFScheduledProcedureStep procedureStep) { WCFScheduledProcedureStep sps = new WCFScheduledProcedureStep() { ScheduledProcedureStepID = scheduledProcedureStepID }; Guard.ArgumentNotNullOrEmpty(scheduledProcedureStepID, "scheduledProcedureStepID"); Guard.ArgumentNotNull(procedureStep.ScheduledProcedureStepStartDate_Time, "ScheduledProcedureStepStartDate_Time"); Guard.ArgumentNotNullOrEmpty(procedureStep.Modality, "Modality"); Guard.ArgumentNotNullOrEmpty(procedureStep.ScheduledProcedureStepDescription, "ScheduledProcedureStepDescription"); if (procedureStep.ScheduledProtocolCodeSequence != null) { foreach (ScheduledProtocolCodeSequence cs in procedureStep.ScheduledProtocolCodeSequence) { Guard.ArgumentNotNullOrEmpty(cs.CodeValue, "ScheduledProtocolCodeSequence.CodeValue"); Guard.ArgumentNotNullOrEmpty(cs.CodingSchemeDesignator, "ScheduledProtocolCodeSequence.CodingSchemeDesignator"); } } using (MWLDataset ds = DB.DataAccess.Find(sps)) { if (ds != null && ds.ScheduledProcedureStep.Rows.Count > 0) { MWLDataset.ScheduledProcedureStepRow row = ds.ScheduledProcedureStep.Rows[0] as MWLDataset.ScheduledProcedureStepRow; row.Update(procedureStep); DB.DataAccess.UpdateMWL(ds); } else { throw new Exception("Scheduled procedure step not found"); } } }