/// <summary>
        /// Called to handle the "add" action.
        /// </summary>
        /// <param name="addedItems"></param>
        /// <returns>True if items were added, false otherwise.</returns>
        protected override bool AddItems(out IList <DicomSeriesDetail> addedItems)
        {
            addedItems = new List <DicomSeriesDetail>();

            DicomSeriesDetail detail = new DicomSeriesDetail();

            // Keep looping until user enters an unique Dicom Series Number, or cancel the add operation
            DicomSeriesEditorComponent   editor   = new DicomSeriesEditorComponent(detail, true);
            ApplicationComponentExitCode exitCode = LaunchAsDialog(this.Host.DesktopWindow, editor, SR.TitleAddDicomSeries);

            if (exitCode == ApplicationComponentExitCode.Accepted)
            {
                addedItems.Add(detail);
                return(true);
            }

            return(false);
        }
        /// <summary>
        /// Called to handle the "edit" action.
        /// </summary>
        /// <param name="items">A list of items to edit.</param>
        /// <param name="editedItems">The list of items that were edited.</param>
        /// <returns>True if items were edited, false otherwise.</returns>
        protected override bool EditItems(IList <DicomSeriesDetail> items, out IList <DicomSeriesDetail> editedItems)
        {
            editedItems = new List <DicomSeriesDetail>();
            DicomSeriesDetail detail = CollectionUtils.FirstElement(items);
            DicomSeriesDetail clone  = (DicomSeriesDetail)detail.Clone();

            // Keep looping until user enters an unique Dicom Series Number, or cancel the edit operation
            DicomSeriesEditorComponent   editor   = new DicomSeriesEditorComponent(clone, false);
            ApplicationComponentExitCode exitCode = LaunchAsDialog(this.Host.DesktopWindow, editor, SR.TitleUpdateDicomSeries);

            if (exitCode == ApplicationComponentExitCode.Accepted)
            {
                editedItems.Add(clone);
                return(true);
            }

            return(false);
        }