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