Marino Faggiana 6 years ago
parent
commit
3e91af52bd
2 changed files with 39 additions and 4 deletions
  1. 24 0
      iOSClient/Database/NCManageDatabase.swift
  2. 15 4
      iOSClient/Trash/NCTrash.swift

+ 24 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -2524,6 +2524,30 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    @objc func deleteTrash(fileID: String) {
+        
+        guard let tableAccount = self.getAccountActive() else {
+            return
+        }
+        
+        let realm = try! Realm()
+        
+        realm.beginWrite()
+        
+        guard let result = realm.objects(tableTrash.self).filter("account = %@ AND fileID = %@", tableAccount.account, fileID).first else {
+            realm.cancelWrite()
+            return
+        }
+        
+        realm.delete(result)
+        
+        do {
+            try realm.commitWrite()
+        } catch let error {
+            print("[LOG] Could not write to database: ", error)
+        }
+    }
+    
     @objc func getTrash(filePath: String, sorted: String, ascending: Bool) -> [tableTrash]? {
         
         guard let tableAccount = self.getAccountActive() else {

+ 15 - 4
iOSClient/Trash/NCTrash.swift

@@ -130,14 +130,25 @@ class NCTrash: UIViewController , UICollectionViewDataSource, UICollectionViewDe
         }
         
         let ocNetworking = OCnetworking.init(delegate: self, metadataNet: nil, withUser: appDelegate.activeUser, withUserID: appDelegate.activeUserID, withPassword: appDelegate.activePassword, withUrl: appDelegate.activeUrl)
+                
+        let fileName = appDelegate.activeUrl + "/" + tableTrash.filePath + tableTrash.fileName
+        let fileNameTo = appDelegate.activeUrl + "/" + tableTrash.trashbinOriginalLocation
         
-        //NSString *fileNamePath = [NSString stringWithFormat:@"%@/%@", _metadataNet.serverUrl, _metadataNet.fileName];
-        //NSString *fileNameToPath = [NSString stringWithFormat:@"%@/%@", _metadataNet.serverUrlTo, _metadataNet.fileNameTo];
-        
-        ocNetworking?.moveFileOrFolder("fileName", fileNameTo: "fileNameTo", success: {
+        ocNetworking?.moveFileOrFolder(fileName, fileNameTo: fileNameTo, success: {
+            
+            NCManageDatabase.sharedInstance.deleteTrash(fileID: fileID)
+            let results = NCManageDatabase.sharedInstance.getTrash(filePath: self.path, sorted: "fileName", ascending: true)
+            if (results != nil) {
+                self.datasource = results!
+                self.collectionView.reloadData()
+            } else {
+                self.datasource.removeAll()
+                self.collectionView.reloadData()
+            }
             
         }, failure: { (message, errorCode) in
             
+            self.appDelegate.messageNotification("_error_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
         })
     }