Exemplo n.º 1
0
        public void Load(string filePath)
        {
            Boards.Clear();
            var sb = new StringBuilder();

            using var fileStream   = File.OpenRead(filePath);
            using var streamReader = new StreamReader(fileStream);
            string line;

            while ((line = streamReader.ReadLine()) != null)
            {
                if (string.IsNullOrWhiteSpace(line))
                {
                    if (!string.IsNullOrWhiteSpace(sb.ToString()))
                    {
                        Boards.Add(BoardDto.FromString(sb.ToString()));
                    }
                    sb.Clear();
                }
                else if (line[0] != '%')
                {
                    sb.AppendLine(line);
                }
            }
            if (!string.IsNullOrWhiteSpace(sb.ToString()))
            {
                Boards.Add(BoardDto.FromString(sb.ToString()));
            }
        }
Exemplo n.º 2
0
        public static BoardDto FromString(string pbnString)
        {
            var board = new BoardDto();

            using var sr = new StringReader(pbnString);
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                var firstQouteIndex = line.IndexOf('"');
                if (firstQouteIndex == -1)
                {
                    continue;
                }
                var key   = line[1..firstQouteIndex].Trim();