iSpyApplication.MainForm.CameraControlFileListUpdated C# (CSharp) Method

CameraControlFileListUpdated() private method

private CameraControlFileListUpdated ( object sender ) : void
sender object
return void
        void CameraControlFileListUpdated(object sender)
        {
            lock (ThreadLock)
            {
                var cw = sender as CameraWindow;
                if (cw != null)
                {
                    try
                    {
                        Masterfilelist.RemoveAll(p => p.ObjectId == cw.ObjectID && p.ObjectTypeId == 2);
                        var l = cw.FileList.ToList();
                        foreach (var ff in l)
                        {
                            Masterfilelist.Add(new FilePreview(ff.Filename, ff.DurationSeconds, cw.ObjectName,
                                ff.CreatedDateTicks, 2, cw.ObjectID, ff.MaxAlarm, ff.IsTimelapse, ff.IsMergeFile));
                        }
                        if (!cw.LoadedFiles)
                        {
                            cw.LoadedFiles = true;
                            //last one?
                            bool all = true;
                            foreach (Control c in _pnlCameras.Controls)
                            {
                                var cameraWindow = c as CameraWindow;
                                if (cameraWindow != null)
                                {
                                    if (!cameraWindow.LoadedFiles)
                                    {
                                        all = false;
                                        break;
                                    }
                                }
                                var volumeLevel = c as VolumeLevel;
                                if (volumeLevel != null)
                                {
                                    if (!volumeLevel.LoadedFiles)
                                    {
                                        all = false;
                                        break;
                                    }
                                }
                            }
                            if (all)
                            {
                                flowPreview.Loading = false;
                                LoadPreviews();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.LogExceptionToFile(ex,"FileListUpdated - "+cw.ObjectName);
                    }
                }

            }
        }
MainForm