private TopPersonProvider()
 {
     var saved = serializer.Deserialize<DataInternal>(FILE);
     if (saved == null)
     {
         Update();
     }
     else
     {
         data = saved;
     }
 }
        private void Save(List<Person> result)
        {
            if (data == null)
            {
                data = new DataInternal();
            }
            if (data.TopPersons == null)
            {
                data.TopPersons = new List<Person>();
            }
            if (data.PreferMost == null)
            {
                data.PreferMost = new List<string>();
            }

            data.LastUpdateTime = DateTime.Now;
            data.TopPersons.Clear();
            foreach (var p in result)
            {
                data.TopPersons.Add(p);
            }

            if (data.PreferMost.Count == 0)
            {
                int max = Math.Min(result.Count, 8);
                var list = result.Take(max);
                foreach (var item in list)
                {
                    data.PreferMost.Add(item.Name);
                }
            }
            serializer.Serialize(FILE, data);
        }