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