예제 #1
0
        /// <summary>
        /// Добавляет значение в переданный объект
        /// </summary>
        /// <param name="target">Целевой объект</param>
        /// <param name="data">Массив соответствующий входной строке данных</param>
        /// <param name="mapLine">Строка карты</param>
        public static void AddValue(ref JObject target, string[] data, MapLine mapLine)
        {
            switch (mapLine.TypeValue)
            {
            //TODO: Точка врезки новых типов
            case "int":
                CreateToken <int>(mapLine.Path.Split('.'), ref target, Convert.ToInt32(data[mapLine.PositionInt]));
                break;

            case "decimal":
                CreateToken <decimal>(mapLine.Path.Split('.'), ref target, Convert.ToDecimal(data[mapLine.PositionInt]));
                break;

            case "date":
                CreateToken <DateTime>(mapLine.Path.Split('.'), ref target, DateTime.Parse(data[mapLine.PositionInt]));
                break;

            default:
                CreateToken <string>(mapLine.Path.Split('.'), ref target, data[mapLine.PositionInt]);
                break;
            }
        }
예제 #2
0
        /// <summary>
        /// Метод чтения файла из
        /// </summary>
        /// <param name="rdr"></param>
        /// <returns></returns>
        public static List <MapLine> Read(StreamReader rdr)
        {
            List <MapLine> result = new List <MapLine>();

            var line = rdr.ReadLine();

            while (line != null)
            {
                var cols = line.Split(';');

                MapLine temp = new MapLine()
                {
                    Name          = cols[0],
                    Position      = cols[1],
                    TypeValue     = cols[2],
                    RequiredValue = cols[3],
                    Path          = cols[4],
                };

                result.Add(temp);
                line = rdr.ReadLine();
            }
            return(result);
        }