private GISADataset.SFRDImagemVolumeRow getImagemVolume(string caminhoFicheiro)
        {
            if (caminhoFicheiro == null || caminhoFicheiro.Length == 0)
            {
                return(null);
            }
            byte[] Versao = null;
            // search SFRDImagemVolume for the image's path. If it
            // does not yet exist create a new one.
            GISADataset.SFRDImagemVolumeRow[] imgVolRows = null;
            GISADataset.SFRDImagemVolumeRow   imgVolRow  = null;
            imgVolRows = (GISADataset.SFRDImagemVolumeRow[])(GisaDataSetHelper.GetInstance().SFRDImagemVolume.Select("Mount = '" + caminhoFicheiro.Replace("'", "''") + "'"));

            //If the volume already exists use the existing entry
            if (imgVolRows.Length > 0)
            {
                imgVolRow = imgVolRows[0];
            }
            else
            {
                //Create a new entry for the new path
                imgVolRow = GisaDataSetHelper.GetInstance().SFRDImagemVolume.AddSFRDImagemVolumeRow(caminhoFicheiro, Versao, 0);
            }
            return(imgVolRow);
        }
        private void AddIndiceDocumento(string descricao, string caminhoFicheiro, string nomeFicheiro, ResourceAccessType tipoAcessoRecurso)
        {
            if ((tipoAcessoRecurso == ResourceAccessType.Smb || tipoAcessoRecurso == ResourceAccessType.Web) && !(ImageHelper.isValidImageResource(caminhoFicheiro + nomeFicheiro, tipoAcessoRecurso)))
            {
                return;
            }

            if ((tipoAcessoRecurso == ResourceAccessType.DICAnexo || tipoAcessoRecurso == ResourceAccessType.DICConteudo) && !(ImageHelper.isValidImageResource(caminhoFicheiro, nomeFicheiro, tipoAcessoRecurso)))
            {
                return;
            }

            GISADataset.SFRDImagemVolumeRow imgVolRow = getImagemVolume(caminhoFicheiro);

            long maxOrdem = GetImgMaxOrdem();

            GISADataset.SFRDImagemRow imgRow = null;
            imgRow = GisaDataSetHelper.GetInstance().SFRDImagem.AddSFRDImagemRow(CurrentFRDBase, maxOrdem + 1, TranslationHelper.FormatTipoAcessoEnumToTipoAcessoText(tipoAcessoRecurso), descricao, imgVolRow, nomeFicheiro, new byte[] { }, 0);

            ListViewItem item = null;

            item = lstVwIndiceDocumento.Items.Add(descricao);
            item.SubItems.Add(caminhoFicheiro);
            item.SubItems.Add(nomeFicheiro);
            item.Tag = imgRow;
        }