Beispiel #1
0
        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");
                }
            }
        }