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();
        }
        protected async void Page_Load(object sender, EventArgs e)
        {
            _arquivoRepository = ArquivoRepositoryFactory.Create();

            if (!IsPostBack)
            {
                Response.Clear();

                long result = await HandleFileUploadAsync();

                Response.Write(result);
                Response.End();
            }
        }
示例#3
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");
            }
        }
示例#4
0
        protected async void Page_Load(object sender, EventArgs e)
        {
            long?idParent =
                !String.IsNullOrWhiteSpace(Request.Params["fkParent"])
                    ? Convert.ToInt64(Request.Params["fkParent"])
                    : (long?)null;

            IArquivoRepository arquivoRepository = ArquivoRepositoryFactory.Create();

            IEnumerable <Arquivo> arquivos = await arquivoRepository.FindWhereParentEqualsAsync(idParent);

            Response.Clear();
            Response.Write(new JavaScriptSerializer().Serialize(new
            {
                result = arquivos
            }));
            Response.End();
        }
示例#5
0
 public FileService(
     ILogger <FileService> logger,
     IFileUserStatusService fileUserStatusService,
     IFileProductService fileProductService,
     ICampanhaFaseRepository campanhaFaseRepository,
     ICampanhaRepository campanhaRepository,
     IFileUserService fileUserService,
     IArquivoRepository arquivoRepository,
     IOptions <CampaignSettings> options,
     IOptions <PathFilesSettings> optionsFile)
 {
     _logger = logger;
     _fileUserStatusService  = fileUserStatusService;
     _fileProductService     = fileProductService;
     _fileUserService        = fileUserService;
     _campanhaFaseRepository = campanhaFaseRepository;
     _campanhaRepository     = campanhaRepository;
     _arquivoRepository      = arquivoRepository;
     _campaignSettings       = options.Value;
     _pathFilesSettings      = optionsFile.Value;
 }
示例#6
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);
        }
        protected async void Page_Load(object sender, EventArgs e)
        {
            _arquivoRepository = ArquivoRepositoryFactory.Create();

            if (!IsPostBack)
            {
                Response.Clear();

                Arquivo arquivo = await PegarArquivoRequestAsync();

                IFileManager fileManager = FileManagerFactory.Create();

                using (Stream fileStream = await fileManager.GetStream(arquivo))
                {
                    Response.BufferOutput = false;
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + arquivo.Nome);
                    Response.AddHeader("Content-Length", fileStream.Length.ToString());
                    Response.ContentType = String.IsNullOrWhiteSpace(arquivo.MimeType) ? "application/octet-stream" : arquivo.MimeType;
                    fileStream.CopyTo(Response.OutputStream);
                    Response.End();
                }
            }
        }
示例#8
0
 public ArquivoService(IArquivoRepository arquivoRepository)
 {
     _ArquivoRepository = arquivoRepository;
 }
 public ArquivoController(IArquivoRepository arquivoRepository)
 {
     _arquivoRepository = arquivoRepository;
 }
示例#10
0
 public ArquivoAppService(IMapper mapper, IUnitOfWork unitOfWork, IArquivoRepository repository)
 {
     _mapper     = mapper;
     _unitOfWork = unitOfWork;
     _repository = repository;
 }
示例#11
0
 public ArquivoService(IArquivoRepository arquivoRepository)
     : base(arquivoRepository)
 {
     _arquivoRepository = arquivoRepository;
 }
示例#12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            _arquivoRepository = ArquivoRepositoryFactory.Create();

            LimparMensagemErro();
        }
示例#13
0
 public ArquivoService(IArquivoRepository arquivoRepository)
 {
     this._arquivoRepository = arquivoRepository;
 }