private void RenderPreviewBoxes() { lock (ThreadLock) { if (MediaPanelPage * Conf.PreviewItems > MasterFileList.Count - 1) { MediaPanelPage = 0; } if (Filter.Filtered) { var l = MasterFileList.Where( p => ((p.ObjectTypeId == 2 && Filter.CheckedCameraIDs.Contains(p.ObjectId)) || (p.ObjectTypeId == 1 && Filter.CheckedMicIDs.Contains(p.ObjectId))) && p.CreatedDateTicks > Filter.StartDate.Ticks && p.CreatedDateTicks < Filter.EndDate.Ticks).ToList (); int pageCount = (l.Count - 1) / Conf.PreviewItems + 1; var displayList = l.OrderByDescending(p => p.CreatedDateTicks).Skip(MediaPanelPage * Conf.PreviewItems).Take(Conf.PreviewItems).ToList(); RenderList(displayList, pageCount); } else { var displayList = MasterFileList.OrderByDescending(p => p.CreatedDateTicks).Skip(MediaPanelPage * Conf.PreviewItems).Take(Conf.PreviewItems).ToList(); int pageCount = (MasterFileList.Count - 1) / Conf.PreviewItems + 1; RenderList(displayList, pageCount); } } }
private void RemovePreviewBox(PreviewBox pb) { string[] parts = pb.FileName.Split('\\'); string fn = parts[parts.Length - 1]; string id = fn.Substring(0, fn.IndexOf('_')); try { //movie FileOperations.Delete(pb.FileName); GetCameraWindow(Convert.ToInt32(id)).FileList.RemoveAll(p => p.Filename == fn); MasterFileList.RemoveAll(p => p.Filename == fn); //preview string dir = pb.FileName.Substring(0, pb.FileName.LastIndexOf("\\", StringComparison.Ordinal)); var lthumb = dir + "\\thumbs\\" + fn.Substring(0, fn.LastIndexOf(".", StringComparison.Ordinal)) + "_large.jpg"; FileOperations.Delete(lthumb); lthumb = dir + "\\thumbs\\" + fn.Substring(0, fn.LastIndexOf(".", StringComparison.Ordinal)) + ".jpg"; FileOperations.Delete(lthumb); } catch (Exception ex) { Log.Error("", ex); } flowPreview.Controls.Remove(pb); pb.Dispose(); }