public List <BlobItem> SynchronizationBlobs() { List <ISynchronicFiles> cloudFiles = this.Storage.Synchronization().Result; List <BlobItem> dbFiles = _context.BlobItem.ToList(); List <BlobItem> l = new List <BlobItem>(); BlobItem b; foreach (ISynchronicFiles c in cloudFiles) { if (dbFiles.Where(d => d.Path == c.FileName).FirstOrDefault() == null) { b = (BlobItemFactory.Create(c, GenerateId())); l.Add(b); _context.BlobItem.Add(b); _context.SaveChanges(); } } return(l); }
public BlobItem CreateBlobItem(ICreateBlob postData) { int id = this.GenerateId(); BlobItem blobItem = BlobItemFactory.Create(postData, id, Storage.CreatePathFile(postData.file.FileName)); if (blobItem == null) { return(null); } string fileName = Path.GetFileName(blobItem.Path); if (!Storage.Create(fileName, postData.file).Result) { return(null); } _context.BlobItem.Add(blobItem); //set file in the "db" _context.SaveChanges(); return(blobItem); }
public async Task <IActionResult> CreateBlobItem([FromForm] CreateBlob postData) { string id = this.GenerateId().ToString(); BlobEntity blobItem = BlobItemFactory.Create(postData, id, blobItemsPath); if (blobItem == null) { return(Conflict("Error! Maybe you did not gave us all the needed info?")); } string fileName = Path.GetFileName(blobItem.pathFile); CloudBlockBlob blockBob = AzureConnection.Container.GetBlockBlobReference(fileName); using (Stream fileStream = postData.file.OpenReadStream()) { await blockBob.UploadFromStreamAsync(fileStream); FilesStorage.Add(blobItem); //set file in the "db" } return(Created("", blobItem)); }