private void RealTimeAddPrediction(Prediction prediction) { lock (Recognitions) { var l = (from pic in Recognitions where pic.Title == prediction.Title select pic).FirstOrDefault(); var q = (from pic in Photos where pic.Path == prediction.Path select pic).FirstOrDefault(); App.Current.Dispatcher.Invoke(() => { if (l == null) //first time { Recognitions.Add(new Recognition { Title = prediction.Title, Count = 1, Photos = new ObservableCollection <Photo> { q } }); } else { int index = Recognitions.IndexOf(l); Recognitions[index].Count++; Recognitions[index].Photos.Add(q); } ImagesCounter++; }); } }
private static void Add(ImageRecognition.Prediction prediction) { Server.Controllers.RecognitionController.RealTimeAdd(prediction); lock (Recognitions) { var l = (from pic in Recognitions where pic.Title == prediction.Label select pic).FirstOrDefault(); var q = (from pic in Photos where prediction.Path == pic.Path select pic).FirstOrDefault(); if (l == null) //first time { Recognitions.Add(new Recognition { Title = prediction.Label, Count = 1, Photos = new ObservableCollection <Photo> { q } }); } else { int index = Recognitions.IndexOf(l); Recognitions[index].Count++; Recognitions[index].Photos.Add(q); } } }
//===========================================================================================// private void AddRecognitionsToView(List <Recognition> recognitions) { foreach (var r in recognitions) { ObservableCollection <Photo> a = new ObservableCollection <Photo>(); foreach (var photo in r.Photos) { a.Add(new Photo { IsSavedInDataBase = true, Path = photo.Path, Pixels = Convert.FromBase64String(photo.PixelsString), Image = ByteToImage(Convert.FromBase64String(photo.PixelsString)) }); } Recognitions.Add(new Recognition { Count = r.Photos.Count, Title = r.Title, Photos = a, }); } }