Example #1
0
        static void Boot()
        {
            bool hasFile = File.Exists(FilePath), hasData = File.Exists(DataPath);

            if (!hasFile || !hasData)
            {
                string file = !hasFile?Path.GetFileName(FilePath) : Path.GetFileName(DataPath);

                throw new Exception($"File '{file}' missing. Sorry :(");
            }

            XDocument document, data;

            try
            {
                document = XDocument.Load(FilePath);
                data     = XDocument.Load(DataPath);
            }
            catch (XmlException)
            {
                throw new Exception($"Invalid format loaded files. Sorry :(");
            }

            foreach (var item in document.Element(Tags["body"]).Elements())
            {
                FuncHelp.Add(item.Name.LocalName, item);

                if (item.Element(Tags["param"]) != null && item.Element(Tags["alias"]).Value.Trim().Length != 0)
                {
                    AliasFunc.Add(item.Name.LocalName, item.Element(Tags["alias"]).Value);
                }

                var attrs = new Dictionary <string, char> {
                };

                if (item.Element(Tags["param"]) != null)
                {
                    foreach (var attr in item.Element(Tags["param"]).Elements())
                    {
                        attrs.Add(attr.Name.LocalName, attr.Value.Trim()[0]);
                    }
                }
                else
                {
                    continue;
                }

                Attributes.Add(item.Name.LocalName, attrs);
            }

            foreach (var item in data.Element(Tags["body"]).Elements())
            {
                Accaunts.Add(item.Attribute(Tags["id"]).Value, item);
            }
        }