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