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