private void ListenerWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { ListenerMessage message = (ListenerMessage)e.UserState; switch (message.MessageType) { case Models.Type.Records: { RecordFile rf = RecordFiles.FirstOrDefault(f => f.FileName == message.RecFile.FileName); if (rf == null) { RecordFiles.Add(message.RecFile); } else if (rf.Size != message.RecFile.Size) { rf.Size = message.RecFile.Size; } } break; case Models.Type.CALL: { Call call = CallFiles.FirstOrDefault(f => f.FileName == message.CallFile.FileName); Computer cpu = computers.FirstOrDefault(c => c.Name == message.CallFile.UnitName); if (call == null) { if (DownloadFile(cpu, message.CallFile.FileName, Models.Type.CALL)) { CallFiles.Add(message.CallFile); } } else if (call.Size != message.CallFile.Size) { call.Size = message.CallFile.Size; if (DownloadFile(cpu, message.CallFile.FileName, Models.Type.CALL)) { CallFiles.Add(message.CallFile); } } else if (DFAL) { Service.DeleteFile(cpu, message.CallFile.FileName, Models.Type.CALL); } } break; case Models.Type.SMS: { SMS sms = SmsFiles.FirstOrDefault(f => f.FileName == message.SmsFile.FileName); Computer cpu = computers.FirstOrDefault(c => c.Name == message.SmsFile.UnitName); if (sms == null && DownloadFile(cpu, message.SmsFile.FileName, Models.Type.SMS) && SplitSmsData(message.SmsFile) && DFAL) { Service.DeleteFile(cpu, message.SmsFile.FileName, Models.Type.SMS); } } break; case Models.Type.Delete: { RecordFile rf = RecordFiles.FirstOrDefault(f => f.FileName == message.RecFile.FileName); if (rf != null) { RecordFiles.Remove(rf); } } break; case Models.Type.Recorder: { StopRecVisibility = Visibility.Collapsed; } break; case Models.Type.Interceptor: { StopInterceptorVisibility = Visibility.Collapsed; } break; default: break; } }
private void OnDeleteTest() { RecordFiles.Remove(SelectedRecordFile); }