protected async void Page_Load(object sender, EventArgs e) { _arquivoRepository = ArquivoRepositoryFactory.Create(); Response.Clear(); long idDiretorio = Convert.ToInt64(Request.Params["parentFolderId"]); string token = Request.Params["token"]; string fileName = Request.Params["fileName"]; string mimeType = Request.Params["mimeType"]; Arquivo arquivoReferencia = await ArquivoRules.AddAsync(fileName, false, idDiretorio); IFileManager fileManager = FileManagerFactory.Create(); long fileSize = await fileManager.MergeChunksAsync(arquivoReferencia.Url, token); arquivoReferencia.Tamanho = fileSize; arquivoReferencia.MimeType = mimeType; await _arquivoRepository.UpdateAsync(arquivoReferencia); Response.Write(fileSize); Response.End(); }
private async Task <string> CriarReferenciaArquivoAsync(HttpPostedFile arquivo) { long idDiretorio = Convert.ToInt64(Request.Params["idDiretorio"]); Arquivo novoArquivo = await ArquivoRules.AddAsync(arquivo.FileName, false, idDiretorio); novoArquivo.Tamanho = arquivo.ContentLength; novoArquivo.MimeType = arquivo.ContentType; await _arquivoRepository.UpdateAsync(novoArquivo); return(novoArquivo.Url); }
/// <summary> /// /// </summary> /// <param name="file"></param> /// <param name="campanhaFaseAtual"></param> /// <returns></returns> //private async Task<bool> ProcessFile(Arquivo file, CampanhaFase campanhaFaseAtual) private async Task <bool> ProcessFile(Arquivo file, Campanha campanhaFaseAtual) { try { var contentsFile = new List <IArquivo>(); switch (file.GetTypeFileEnum()) { case TipoArquivoSeuDesejo.UsuarioStatus: file.DataInicioProcessamento = DateTime.Now; file = await _arquivoRepository.InsertAsync(file); file.QtdeValidos = await _fileUserStatusService.ProcessBulkCopyAsync(file, campanhaFaseAtual); break; case TipoArquivoSeuDesejo.Cadastro: file.DataInicioProcessamento = DateTime.Now; file = await _arquivoRepository.InsertAsync(file); await _fileUserService.ProcessBulkCopyAsync(file, campanhaFaseAtual); break; default: var validFile = await ReadFile(contentsFile, file); if (!validFile) { _logger.LogInformation($"Invalid file. [{file.Nome}]-[{file.NomeProcessado}]"); return(false); } file.DataInicioProcessamento = DateTime.Now; file = await _arquivoRepository.InsertAsync(file); break; } switch (file.GetTypeFileEnum()) { //case TipoArquivoSeuDesejo.Cadastro: // await _fileUserService.ProcessAsync(contentsFile.Cast<UsuarioArquivo>(), file, campanhaFaseAtual); // break; //case TipoArquivoSeuDesejo.UsuarioStatus: // await _fileUserStatusService.ProcessAsync(contentsFile.Cast<UsuarioStatusArquivo>(), file, campanhaFaseAtual); // break; //case TipoArquivoSeuDesejo.Produto: // await _fileProductService.ProcessAsync(contentsFile.Cast<ProdutoArquivo>(), file, campanhaFaseAtual); // break; } file.DataFimProcessamento = DateTime.Now; file.QtdeRejeitados = contentsFile.Count(x => !string.IsNullOrEmpty(x.Erro) && !x.Valido); if (file.QtdeValidos == 0) { file.QtdeValidos = contentsFile.Count(x => x.Valido); } await _arquivoRepository.UpdateAsync(file); _logger.LogInformation($"File: {file.Nome} id: {file.Id} valids: {file.QtdeValidos} - errors: {file.QtdeRejeitados}"); _logger.LogInformation("Finished."); return(true); } catch (Exception ex) { if (file.Id > 0) { _logger.LogError(ex, $"{file.Id} {ex.Message}"); file.Erro = ex.Message; await _arquivoRepository.UpdateAsync(file); } else { _logger.LogError(ex, $"{file.Nome} {ex.Message}"); } _logger.LogInformation("Finished with error."); return(false); } }