예제 #1
0
        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);
                }
            }
        }
예제 #2
0
        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();
        }