Пример #1
0
        /// <summary>
        /// Returns a list containing the all tables names in the database
        /// </summary>
        /// <param name="dataset">The strongly typed DataSet that corresponds to the custom database (i.e. MyDicomDataSet)</param>
        /// <returns>
        /// A list containing the all tables names in the database
        /// </returns>
        protected override string[] GetCompositeInstanceQueryDataAdapterTables(DataSet dataset, ExtraQueryOptions extraQueryOptions)
        {
            MyDataSet myDataSet = new MyDataSet();

            myDataSet.Merge(dataset);

            try
            {
                List <string> instanceQueryTables = new List <string>();

                //Patient entity mapping
                instanceQueryTables.Add(myDataSet.MyPatientTable.TableName);

                //Study entity mapping
                instanceQueryTables.Add(myDataSet.MyStudyTable.TableName);

                //Series entity mapping
                instanceQueryTables.Add(myDataSet.MySeriesTable.TableName);

                //Image entity mapping
                instanceQueryTables.Add(myDataSet.MyInstanceTable.TableName);

                return(instanceQueryTables.ToArray());
            }
            catch (Exception exception)
            {
                System.Diagnostics.Debug.WriteLine(exception.Message);
                System.Diagnostics.Debug.Assert(false);

                throw;
            }
        }
Пример #2
0
        /// <summary>
        /// Creates the necessary table entries (MyPatient, MyStudy, MySeries, MyInstance) for a Leadtools.Dicom.DicomDataSet
        /// </summary>
        /// <param name="ds">The Leadtools.Dicom.DicomDataSet that is being stored.</param>
        /// <param name="referencedFileName">Full path to the DICOM file</param>
        /// <param name="retrieveAe">AE Title of the client doing the retrieval</param>
        /// <param name="images">Not used</param>
        /// <param name="updateExistentPatient">If true, overwrite an existing patient data.</param>
        /// <param name="updateExistentStudy">If true, overwrite any existing study data.</param>
        /// <param name="updateExistentSeries">If true, overwrite any existing series data.</param>
        /// <param name="updateExistentInstances">If true, overwrite an existing instance data.</param>
        /// <remarks>
        /// Table rows are overwritten based on the parameters:
        /// <list>
        /// <item>updateExistentPatient</item>
        /// <item>updateExistentStudy</item>
        /// <item>updateExistentSeries</item>
        /// <item>updateExistentInstances</item>
        /// </list>
        /// </remarks>
        public override void StoreDicom(DicomDataSet ds,
                                        string referencedFileName,
                                        string retrieveAe,
                                        ReferencedImages[] images,
                                        bool updateExistentPatient,
                                        bool updateExistentStudy,
                                        bool updateExistentSeries,
                                        bool updateExistentInstances
                                        )
        {
            if (ds.IsHangingProtocolDataSet())
            {
                return;
            }

            DataSet dataSetTemp = GetUpdateDataSet(ds,
                                                   updateExistentPatient,
                                                   updateExistentStudy,
                                                   updateExistentSeries,
                                                   updateExistentInstances);

            MyDataSet instanceDataSet = new MyDataSet();

            instanceDataSet.Merge(dataSetTemp);

            MyDicomDataSetConvertor converter = new MyDicomDataSetConvertor();

            converter.FillADONetDataSet(instanceDataSet,
                                        ds,
                                        referencedFileName,
                                        retrieveAe,
                                        updateExistentPatient,
                                        updateExistentStudy,
                                        updateExistentSeries,
                                        updateExistentInstances);


            UpdateCompositeInstance(instanceDataSet);
        }