Ejemplo n.º 1
0
        public Guid CriarInformacaoArquivo(InformacaoArquivo inputs)
        {
            string storageConnectionString = Configuration.GetConnectionString("AzureConnection");

            inputs.Id = Guid.NewGuid();

            CloudStorageAccount account;

            if (CloudStorageAccount.TryParse(storageConnectionString, out account))
            {
                CloudBlobClient serviceClient = account.CreateCloudBlobClient();

                var container = serviceClient.GetContainerReference(inputs.Container.ToLower());
                container.CreateIfNotExistsAsync().Wait();

                CloudBlockBlob blob = container.GetBlockBlobReference(inputs.Id.ToString());
                Stream         arq  = new MemoryStream(inputs.Conteudo);
                blob.UploadFromStreamAsync(arq).Wait();

                if (inputs.ConteudoThumb != null && inputs.ConteudoThumb.Length > 0)
                {
                    CloudBlockBlob blobThumb = container.GetBlockBlobReference(string.Concat(inputs.Id.ToString(), "_thumb"));
                    Stream         arqThumb  = new MemoryStream(inputs.ConteudoThumb);
                    blobThumb.UploadFromStreamAsync(arqThumb).Wait();
                }

                _repo.CriarInformacaoArquivo(inputs);

                return(inputs.Id);
            }
            else
            {
                throw new Exception("Problema ao recuperar a conta de armazenamento");
            }
        }
Ejemplo n.º 2
0
        public InformacaoArquivo ConsultarInformacaoArquivo(Guid IdInformacaoArquivo, bool isThumb = false)
        {
            string            storageConnectionString = Configuration.GetConnectionString("AzureConnection");
            InformacaoArquivo info = _repo.ConsultarInformacaoArquivo(IdInformacaoArquivo);

            CloudStorageAccount account;

            if (CloudStorageAccount.TryParse(storageConnectionString, out account))
            {
                CloudBlobClient serviceClient = account.CreateCloudBlobClient();

                var container = serviceClient.GetContainerReference(info.Container.ToLower());

                CloudBlockBlob blob;
                MemoryStream   arquivo;

                blob    = container.GetBlockBlobReference((isThumb ? string.Concat(info.Id.ToString(), "_thumb") : info.Id.ToString()));
                arquivo = new MemoryStream(blob.StreamWriteSizeInBytes);
                blob.DownloadToStreamAsync(arquivo).Wait();

                if (isThumb)
                {
                    info.ConteudoThumb = arquivo.ToArray();
                }
                else
                {
                    info.Conteudo = arquivo.ToArray();
                }
            }

            return(info);
        }
Ejemplo n.º 3
0
        public ActionResult EditarInformacaoArquivo([FromBody] InformacaoArquivo inputs)
        {
            try
            {
                _serv.EditarInformacaoArquivo(inputs);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest($"Ocorreu um erro ao editar o arquivo {inputs.Id}: {ex.Message}"));
            }
        }
Ejemplo n.º 4
0
        public ActionResult CriarInformacaoArquivo([FromBody] InformacaoArquivo inputs)
        {
            try
            {
                //inputs.IdConta = Request.ObterIdConta();
                inputs.IdUsuario = Request.ObterIdUsuario();

                var idNovoArquivo = _serv.CriarInformacaoArquivo(inputs);

                return(Ok(idNovoArquivo));
            }
            catch (Exception ex)
            {
                return(BadRequest($"Ocorreu um erro ao criar um novo arquivo: {ex.Message}"));
            }
        }
Ejemplo n.º 5
0
        public void DeletarInformacaoArquivo(Guid IdInformacaoArquivo)
        {
            string            storageConnectionString = Configuration.GetConnectionString("AzureConnection");
            InformacaoArquivo info = _repo.ConsultarInformacaoArquivo(IdInformacaoArquivo);

            CloudStorageAccount account;

            if (CloudStorageAccount.TryParse(storageConnectionString, out account))
            {
                CloudBlobClient serviceClient = account.CreateCloudBlobClient();

                var            container = serviceClient.GetContainerReference(info.Container.ToLower());
                CloudBlockBlob blob      = container.GetBlockBlobReference(info.Id.ToString());

                blob.DeleteIfExistsAsync().Wait();

                _repo.DeletarInformacaoArquivo(IdInformacaoArquivo);
            }
        }
Ejemplo n.º 6
0
 public void EditarInformacaoArquivo(InformacaoArquivo inputs)
 {
     _repo.EditarInformacaoArquivo(inputs);
 }
 public void EditarInformacaoArquivo(InformacaoArquivo inputs)
 {
     _context.InformacaoArquivo.Update(inputs);
     _context.Commit();
 }
 public void CriarInformacaoArquivo(InformacaoArquivo inputs)
 {
     _context.InformacaoArquivo.Add(inputs);
     _context.Commit();
 }