public IEnumerable <Person> ReadAll()
        {
            if (_cachePeople.Count > 0)
            {
                return(_cachePeople);
            }
            var text = File.ReadAllText(CSVFilePath);

            ; //just a hack, not suitable to be honest.
            var members = text.Split(",").Select(x => x.Trim()).ToList();
            int counter = 0;

            string[] items = new string[6];
            for (int i = 0; i < members.Count(); i++)
            {
                var j = i % 4;

                switch (j)
                {
                case 0:
                    items[0] = members[i];
                    break;

                case 1:
                    items[1] = members[i];
                    break;

                case 2:
                    items[2] = members[i].Split(" ")[0];
                    items[3] = members[i].Split(" ")[1];
                    break;

                case 3:
                {
                    if (members[i].Contains("\r\n"))
                    {
                        var val   = members[i];
                        int index = members.IndexOf(val);
                        members.Insert(index, val.Split("\r\n")[0]);
                        members[index + 1] = val.Split("\r\n")[1];
                    }
                    items[4] = (members[i]);
                    items[5] = counter++.ToString();
                    _cachePeople.Add(UtilPerson.FromString(items[5], items[1], items[0], items[2], items[3], items[4]));
                }

                break;
                }
            }
            return(_cachePeople);
        }
        public bool WriteAll(IEnumerable <Person> people)
        {
            StringBuilder sb = new StringBuilder();

            foreach (var item in people)
            {
                item.Id        = -1;
                item.FavColour = UtilColor.Colors.FirstOrDefault(f => f.Id == item.FavColourId); //just to keep things in sync with Entity, Dumb hack
                sb.Append(UtilPerson.FromPerson(item));
            }
            File.AppendAllText(CSVFilePath, sb.ToString());
            _cachePeople.Clear();
            return(true);
        }