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);
}
}
}
}