Browse Source

Fixed that last bug in a better way, since I found the real issue at play, which was images with no data weren't being frozen.

Kenric Nugteren 1 year ago
parent
commit
8c65be61d5
1 changed files with 15 additions and 12 deletions
  1. 15 12
      prs.desktop/Panels/Attendance/AttendancePanel.xaml.cs

+ 15 - 12
prs.desktop/Panels/Attendance/AttendancePanel.xaml.cs

@@ -496,22 +496,25 @@ namespace PRSDesktop
             foreach (var row in data.Rows)
             {
                 var imageid = row.Get<Document, Guid>(c => c.ID);
-                BitmapImage img = null;
-                var empids = Employees.Rows.Where(r => r.Get<Employee, Guid>(c => c.Thumbnail.ID).Equals(imageid))
-                    .Select(r => r.Get<Employee, Guid>(c => c.ID));
-                foreach (var empid in empids)
+                var docData = row.Get<Document, byte[]>(x => x.Data);
+                if(docData is not null && docData.Length != 0)
                 {
-                    var kanban = Kanbans.FirstOrDefault(x => string.Equals(x.ID, empid.ToString()));
-                    if (kanban != null)
+                    BitmapImage? img = null;
+                    var empids = Employees.Rows.Where(r => r.Get<Employee, Guid>(c => c.Thumbnail.ID).Equals(imageid))
+                        .Select(r => r.Get<Employee, Guid>(c => c.ID));
+                    foreach (var empid in empids)
                     {
-                        if (img == null)
+                        var kanban = Kanbans.FirstOrDefault(x => string.Equals(x.ID, empid.ToString()));
+                        if (kanban != null)
                         {
-                            img = new BitmapImage();
-                            img.LoadImage(row.Get<Document, byte[]>(c => c.Data));
-                            img.Freeze();
-                        }
+                            if (img == null)
+                            {
+                                img = new BitmapImage();
+                                img.LoadImage(row.Get<Document, byte[]>(c => c.Data));
+                            }
 
-                        kanban.Image = img;
+                            kanban.Image = img;
+                        }
                     }
                 }
             }