/// <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; } }
/// <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); }