public async Task <IActionResult> DeletePhotos([Bind("_id", "ToBeDelete")] List <PhotoModelForDelete> photos)
        {
            List <string> blobsReferenceName = new List <string>();

            using (
                MyBlobStorageManager myBlobStorageManager = new MyBlobStorageManager(Variables.BlobStorageConnectionString, _userId))
            {
                foreach (var photo in photos)
                {
                    if (photo.ToBeDelete)
                    {
                        var photosName = await _myMongoDbManager.GetPhotosNameAsync(new ObjectId(photo._id));

                        blobsReferenceName.AddRange(photosName);
                        _myMongoDbManager.RemovePhotoAsync(new ObjectId(photo._id));
                    }
                }

                foreach (var name in blobsReferenceName)
                {
                    await myBlobStorageManager.RemoveDocumentByNameAsync(name);
                }
            }

            return(RedirectToAction("Gallery", "Gallery"));
        }
Пример #2
0
        public async void DeleteUserData()
        {
            using (var myMongoDBManager =
                       new MyMongoDBManager(Variables.MongoDBConnectionStringRW, Variables.MongoDBDatbaseName))
                using (var myBlobStorageManager =
                           new MyBlobStorageManager(Variables.BlobStorageConnectionString, _userId))
                {
                    var response = await myBlobStorageManager.DeleteUserContainerAsync();

                    if (response.IsSuccess)
                    {
                        var photos = await myMongoDBManager.GetPhotoForGalleryAsync(_userId);

                        foreach (var photo in photos)
                        {
                            myMongoDBManager.RemovePhotoAsync(photo._id);
                        }
                    }
                }
        }