Exemplo n.º 1
0
        private Category ParseCategory(List <string> line, DeviceType device, ref CategoryType catType, ref DBType dbType, StringBuilder warnings)
        {
            if (line.Count < 3 || line[3].Trim() == "")
            {
                throw new Exception(Lang.Phrase("Имя категории не задано"));
            }


            //парсим тип БД и тип категории
            string s = line[3].Trim();
            var    m = regex6.Match(s);

            if (m != null && m.Groups.Count > 1)
            {
                var parts = m.Groups[1].Value.Split(',');
                dbType  = (DBType)Enum.Parse(typeof(DBType), parts[0]);
                catType = (CategoryType)Enum.Parse(typeof(CategoryType), parts[1]);
            }


            //имя на русском
            LocalizableString name = new LocalizableString();

            name.Set(line[3].Trim(), Lang.RuLCID);

            //создаем категорию
            Category cat = new Category(name);

            for (int i = 5; i < line.Count; i++)
            {
                int    LCID;
                string nameString;
                if (ParseName(line[i], out LCID, out nameString))
                {
                    //заносим имя
                    name.Set(nameString, LCID);
                }
            }

            cat.Type = catType;

            return(cat);
        }