Beispiel #1
0
        public void DeleteImage(TaxonImageDesc _imageDesc, bool _rename)
        {
            if (_imageDesc.IsALink)
            {
                return;
            }
            string path = _imageDesc.GetPath(this);

            if (File.Exists(path))
            {
                File.Delete(path);
            }
            Images.Remove(_imageDesc);

            if (!_rename)
            {
                return;
            }
            foreach (TaxonImageDesc desc in Images)
            {
                if (desc.CollectionId != _imageDesc.CollectionId)
                {
                    continue;
                }
                if (desc.Secondary != _imageDesc.Secondary)
                {
                    continue;
                }
                if (desc.Index <= _imageDesc.Index)
                {
                    continue;
                }
                desc.ChangeIndexAndRenameFile(this, desc.Index - 1);
            }
            UpdateAvailableImages();
            TaxonImages.Manager.Clear();
            Controls.TaxonControlList.OnAvailableImagesChanged();
            Controls.TaxonControlList.OnReselectTaxon();
        }