예제 #1
0
        protected async void ExcluirDiretorioAsync_Click(object sender, EventArgs e)
        {
            long idArquivo = PegarIdArquivoSelecionado();

            if ((await _arquivoRepository.FindWhereParentEqualsAsync(idArquivo)).Any())
            {
                ExibirMensagemErro("Diretório não pode ser excluído pois possui dependentes");
            }
            else
            {
                IFileManager fileManager = FileManagerFactory.Create();
                await fileManager.DeleteAsync(await _arquivoRepository.FindByIdAsync(idArquivo));

                await _arquivoRepository.DeleteAsync(idArquivo);
            }
        }
예제 #2
0
        public async static Task DeleteAsync(long id)
        {
            IArquivoRepository arquivoRepository = ArquivoRepositoryFactory.Create();

            if (!(await arquivoRepository.FindWhereParentEqualsAsync(id)).Any())
            {
                IFileManager fileManager = FileManagerFactory.Create();

                await fileManager.DeleteAsync(await arquivoRepository.FindByIdAsync(id));

                await arquivoRepository.DeleteAsync(id);
            }
            else
            {
                throw new ArgumentException("Diretório não pode ser excluído pois possui dependentes");
            }
        }