/// <summary> </summary> /// <param name="context"></param> protected override void DoWork(CodeActivityContext context) { string localStatus = "FAILED"; string _dcmInstanceId = UnitId.Get(context); int nDcmInstanceId = Convert.ToInt32(_dcmInstanceId); IList <string> sourceFrameOfReferenceUid = SourceFrameOfReferenceUID.Get(context); string targetFrameOfReferenceUid = TargetFrameOfReferenceUID.Get(context); IList <IList <double> > transformationMatrix = TransformationMatrix.Get(context); IList <int> planningImageIdValues = PlanningImageIdValues.Get(context); IList <int> verificationImageIdValues = VerificationImageIdValues.Get(context); IList <string> planningImageSopInstanceUidValues = PlanningImageSopInstanceValues.Get(context); IList <string> verificationImageSopInstanceUidValues = VerificationImageSopInstanceValues.Get(context); IList <string> planningFrameOfReferenceUidValues = PlanningImageFrameOfReferenceUidValues.Get(context); string spatialRegistrationObjectType = SpatialRegistrationObjectType.Get(context); string siteID = SiteID.Get(context); IList <decimal> dOffsetValues = new List <decimal>(6); int nOffsetId = 0; int nSiteID = 0; int nPatientID = 0; if (siteID.Length > 0) { nSiteID = Convert.ToInt32(siteID); } context.GetExtension <CompositionContainer>().SatisfyImportsOnce(this); bool result = _processSpatialRegistrationObject.PrepAndCreateOffsetRecords( nDcmInstanceId, spatialRegistrationObjectType, planningImageIdValues, verificationImageIdValues, planningImageSopInstanceUidValues, verificationImageSopInstanceUidValues, planningFrameOfReferenceUidValues, sourceFrameOfReferenceUid, targetFrameOfReferenceUid, transformationMatrix, nSiteID, ref nPatientID, ref nOffsetId, ref dOffsetValues); if (result) { localStatus = "SUCCESS"; } PatientID.Set(context, nPatientID.ToString()); OffsetID.Set(context, nOffsetId.ToString()); SroProcessedResult.Set(context, result); OffsetValues.Set(context, dOffsetValues); ActivityStatus.Set(context, localStatus); }
/// <summary> </summary> /// <param name="context"></param> protected override void DoWork(CodeActivityContext context) { string localStatus = "FAILED"; string _dcmInstanceId = UnitId.Get(context); int nDcmInstanceId = Convert.ToInt32(_dcmInstanceId); IList <string> sourceFrameOfReferenceUid = new List <string>(); string targetFrameOfReferenceUid = ""; IList <IList <double> > transformationMatrix = new List <IList <double> >(); IList <string> transformationComment = new List <string>(); IList <int> planningImageIdValues = new List <int>(); IList <string> planningImageSopInstanceUidValues = new List <string>(); IList <string> planningFrameOfReferenceUidValues = new List <string>(); IList <string> verificationImageSopInstanceUidValues = new List <string>(); string spatialRegistrationType = SpatialRegistrationObjectType.Get(context); IList <string> _structureSetIds = StructureSetIds.Get(context); IList <string> structureSetIds; if (spatialRegistrationType == "3D" && _structureSetIds != null && _structureSetIds.Count > 0) { structureSetIds = _structureSetIds; } else { structureSetIds = new List <string>(); } byte nRegistrationType = 0; context.GetExtension <CompositionContainer>().SatisfyImportsOnce(this); _processSpatialRegistrationObject.ParseTreatmentDeliverySpatialRegistration(nDcmInstanceId, spatialRegistrationType, structureSetIds, ref sourceFrameOfReferenceUid, ref targetFrameOfReferenceUid, ref transformationMatrix, ref transformationComment, ref planningImageSopInstanceUidValues, ref planningImageIdValues, ref planningFrameOfReferenceUidValues, ref verificationImageSopInstanceUidValues, ref nRegistrationType); if (sourceFrameOfReferenceUid != null && sourceFrameOfReferenceUid.Count > 0) { localStatus = "SUCCESS"; } SourceFrameOfReferenceUID.Set(context, sourceFrameOfReferenceUid); TargetFrameOfReferenceUID.Set(context, targetFrameOfReferenceUid); TransformationMatrix.Set(context, transformationMatrix); TransformationMatrixComment.Set(context, transformationComment); PlanningImageSopInstanceValues.Set(context, planningImageSopInstanceUidValues); PlanningImageIdValues.Set(context, planningImageIdValues); PlanningImageFrameOfReferenceUidValues.Set(context, planningFrameOfReferenceUidValues); VerificationImageSopInstanceValues.Set(context, verificationImageSopInstanceUidValues); RegistrationType.Set(context, nRegistrationType); ActivityStatus.Set(context, localStatus); }