Example #1
0
        public async Task <ActionResult> UploadFile(HttpPostedFileBase file, string nodeId)
        {
            var containerNode    = root.Descendants().Where(n => n.NodeId == nodeId).First();
            var virtualContainer = containerNode.Name + "_(" + containerNode.NodeId + ")" + "/";
            var collectionName   = virtualContainer + file.FileName;
            var blobModel        = new BlobModel()
            {
                DisplayName = file.FileName, Path = collectionName
            };

            //UploadBlob
            var blobManager = new BlobManager();

            blobManager.UploadBlob(file, virtualContainer);

            //Update documentDB
            var documentDBManager = new DocumentDBManager();

            await documentDBManager.AddBlobDocumentAsync(Settings.Default.DocumenDBDatabaseName, Settings.Default.DocumentDBCollectionName, nodeId, blobModel);

            //Add blobname to list
            List <BlobModel> blobList;

            if (blobs.TryGetValue(nodeId, out blobList))
            {
                blobList.Add(blobModel);
            }
            else
            {
                blobList = new List <BlobModel>();
                blobList.Add(blobModel);
            }

            blobs[nodeId] = blobList;

            return(RedirectToAction("Index"));
        }
Example #2
0
        public async Task <ActionResult> DeleteFile(string nodeId, string name)
        {
            //Delete Blob
            BlobManager blobManager = new BlobManager();

            blobManager.DeleteBlob(name);


            //Delete from documentDB
            DocumentDBManager documentDB = new DocumentDBManager();
            await documentDB.RemoveBlobDocumentAsync(Settings.Default.DocumenDBDatabaseName, Settings.Default.DocumentDBCollectionName, nodeId, name);

            //Delet from list
            List <BlobModel> blobList;

            if (blobs.TryGetValue(nodeId, out blobList))
            {
                int index = blobList.FindIndex(b => b.Path == name);
                blobList.RemoveAt(index);
                blobs[nodeId] = blobList;
            }

            return(RedirectToAction("Index"));
        }