marinofaggiana 6 years ago
parent
commit
d7af7ab8b3
2 changed files with 17 additions and 9 deletions
  1. 13 5
      iOSClient/Database/NCManageDatabase.swift
  2. 4 4
      iOSClient/Media/NCMedia.swift

+ 13 - 5
iOSClient/Database/NCManageDatabase.swift

@@ -1973,29 +1973,37 @@ class NCManageDatabase: NSObject {
         }
     }
     
-    @objc func createTablePhotos(_ metadatas: [tableMetadata], lteDate: Date, gteDate: Date,account: String) -> Int {
+    @objc func createTablePhotos(_ metadatas: [tableMetadata], lteDate: Date, gteDate: Date,account: String) -> Int64 {
 
         let realm = try! Realm()
         realm.refresh()
         
-        var differentInsert: Int = 0
-        
+        var sizeDelete: Int64 = 0
+        var sizeInsert: Int64 = 0
+        var differenceInsert: Int64 = 0
+
         do {
             try realm.write {
                 // DELETE ALL
                 let results = realm.objects(tablePhotos.self).filter("account = %@ AND date >= %@ AND date <= %@", account, gteDate, lteDate)
-                differentInsert = metadatas.count - results.count
+                for resul in results {
+                    sizeDelete = sizeDelete + Int64(resul.size)
+                }
                 realm.delete(results)
                 // INSERT ALL
                 let photos = Array(metadatas.map { tablePhotos.init(value:$0) })
+                for photo in photos {
+                    sizeInsert = sizeInsert + Int64(photo.size)
+                }
                 realm.add(photos, update: true)
+                differenceInsert = sizeDelete - sizeInsert
             }
         } catch let error {
             print("[LOG] Could not write to database: ", error)
             realm.cancelWrite()
         }
         
-        return differentInsert
+        return differenceInsert
     }
     
     @objc func getTablePhotoDate(account: String, order: ComparisonResult) -> Date {

+ 4 - 4
iOSClient/Media/NCMedia.swift

@@ -351,18 +351,18 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
             
             if errorCode == 0 && account == self.appDelegate.activeAccount {
                 
-                var insertRecord = 0
+                var differenceInsert: Int64 = 0
                 
                 if metadatas != nil && metadatas!.count > 0 {
-                    insertRecord = NCManageDatabase.sharedInstance.createTablePhotos(metadatas as! [tableMetadata], lteDate: lteDate, gteDate: gteDate, account: account!)
+                    differenceInsert = NCManageDatabase.sharedInstance.createTablePhotos(metadatas as! [tableMetadata], lteDate: lteDate, gteDate: gteDate, account: account!)
                     self.collectionViewReloadDataSource()
                 }
                 
-                if insertRecord > 0 {
+                if differenceInsert != 0 {
                     self.readRetry = 0
                 }
                 
-                if insertRecord == 0 && addPast {
+                if differenceInsert == 0 && addPast {
                     
                     self.readRetry += 1