public object DeSerialize(BinaryReader reader) { int version = reader.ReadInt32(); lock (Sites.Locker) { Sites.Clear(); reader.ReadCollection(Sites, r => (Site) new Site().DeSerialize(r)); } lock (Results.Locker) { Results.Clear(); reader.ReadCollection(Results, r => (Result) new Result().DeSerialize(r)); } lock (Favorites.Locker) { Favorites.Clear(); reader.ReadCollection(Favorites, r => (Result) new Result().DeSerialize(r)); } if (version > 0) { lock (Favorites2.Locker) { Favorites2.Clear(); reader.ReadCollection(Favorites2, r => (Result) new Result().DeSerialize(r)); } lock (BlockedResults.Locker) { BlockedResults.Clear(); reader.ReadCollection(BlockedResults, r => (Result) new Result().DeSerialize(r)); } } return(this); }
private void addResult(Result result) { bool founded = false; lock (Results.Locker) { int index = Results.IndexOf(result); if (index >= 0) { founded = true; result.Selected = Results[index].Selected; Results[index] = result; } } lock (Favorites.Locker) { int index = Favorites.IndexOf(result); if (index >= 0) { founded = true; result.Selected = Favorites[index].Selected; Favorites[index] = result; } } lock (Favorites2.Locker) { int index = Favorites2.IndexOf(result); if (index >= 0) { founded = true; result.Selected = Favorites2[index].Selected; Favorites2[index] = result; } } lock (BlockedResults.Locker) { int index = BlockedResults.IndexOf(result); if (index >= 0) { founded = true; result.Selected = BlockedResults[index].Selected; BlockedResults[index] = result; } } if (!founded) { Results.Add(result); } }