Esempio n. 1
0
        protected async void Page_LoadComplete(object sender, EventArgs e)
        {
            Arquivo diretorio;

            if (!IsPostBack)
            {
                diretorio = await _arquivoRepository.FindWhereParentIsNullAsync();
            }
            else
            {
                diretorio = await _arquivoRepository.FindByIdAsync(PegarIdDiretorioCorrente());
            }

            await ListarArquivosAsync(diretorio);
        }
Esempio n. 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");
            }
        }
Esempio n. 3
0
        public async static Task <Arquivo> AddAsync(string nome, bool isDiretorio, long fkParent)
        {
            IArquivoRepository arquivoRepository = ArquivoRepositoryFactory.Create();

            if (isDiretorio)
            {
                if ((await arquivoRepository.FindWhereParentAndNameEqualsAsync(fkParent, nome)).Any())
                {
                    throw new ArgumentException("Diretório não pode ser inserido com nome repetido dentro desta pasta");
                }
            }

            // Adicionar verificação de versão para criar a referência com o versionamento correto

            Arquivo parent = await arquivoRepository.FindByIdAsync(fkParent);

            Arquivo arquivo = ArquivoFactory.Create(nome, isDiretorio, parent);

            await arquivoRepository.AddAsync(arquivo);

            return(arquivo);
        }
        private async Task <Arquivo> PegarArquivoRequestAsync()
        {
            long idArquivo = Convert.ToInt64(Request.Params["idArquivo"]);

            return(await _arquivoRepository.FindByIdAsync(idArquivo));
        }