Esempio n. 1
0
        public void Order()
        {
            var lastName = BreakLine(NameList.GetName(), false);

            lastName.ReorderByAscending();
            NameList.ReorderByAscending();

            var newList  = new DataSubstringList();
            var newIndex = 0;

            foreach (var data in lastName.GetList())
            {
                string newValue  = null;
                var    dataValue = lastName.GetList().Where(e => e.Value == data.Value).ToList();
                //if has same last name
                if (dataValue.Count > 1)
                {
                    newValue = NameList.GetList().Where(e => dataValue.Select(y => y.Order).Contains(e.Order) &&
                                                        !newList.GetList().Select(y => y.Value).Contains(e.Value))
                               .FirstOrDefault().Value;
                }
                else
                {
                    newValue = NameList.GetNameAtIndex(data.Order);
                }
                if (newValue != null)
                {
                    newList.Add(new DataSubstring(newIndex, newValue));
                }
                newIndex++;
            }
            NameList = newList;
        }
Esempio n. 2
0
        private void ReadFile(string path)
        {
            var result = new List <string>();

            using (var reader = new StreamReader(path)) {
                while (!reader.EndOfStream)
                {
                    var data = reader.ReadLine();
                    result.Add(data);
                }
            }
            NameList = new DataSubstringList(result);
        }
Esempio n. 3
0
 public NameListBuilder(List <string> list)
 {
     NameList = new DataSubstringList(list);
 }