コード例 #1
0
        public void ParseLine(string line)
        {
            if (IsCommentLine(line))
            {
                return;
            }

            bool isLineValid  = false;
            int  currentIndex = 0;

            string?itemName = ParseString(line, ref currentIndex, ';');
            string?itemId   = ParseString(line, ref currentIndex, ';');

            if ((!String.IsNullOrEmpty(itemName)) && (!String.IsNullOrEmpty(itemId)))
            {
                isLineValid = stockPartValidator.Validate(line, currentIndex);
                if (isLineValid)
                {
                    while (currentIndex < line.Length)
                    {
                        string?shelf    = ParseString(line, ref currentIndex, ',');
                        int    quantity = ParseInt(line, ref currentIndex, '|');
                        warehouse.AddItemToShelf(itemId, itemName, quantity, shelf !);
                    }
                }
            }

            if (!isLineValid)
            {
                invalidLines.Add(line);
            }
        }