Exemple #1
0
        /// <summary>
        /// Get PathsHelper object
        /// </summary>
        /// <param name="gameName"></param>
        /// <returns></returns>
        public static PathsHelper getPathsHelper(string gameName)
        {
            SPConfig    config       = SPConfig.loadConfig();
            SPGame      gameSettings = SettingsFactory.getGameSettings(gameName);
            SPSettings  settings     = SettingsFactory.getSettings();
            PathsHelper paths        = new PathsHelper(settings, gameSettings);

            return(paths);
        }
        /// <summary>
        /// Load configuration from default XML settings configuration file
        /// </summary>
        /// <returns></returns>
        public static SPConfig loadConfig()
        {
            // vars
            SPConfig configuration;
            ILogger  logger     = Log4NetLogger.getInstance(LogAppender.APP_SETTINGS, Consts.DIR_SETTINGS);
            string   configFile = PathsHelper.getConfigFileName();

            // create if does not exit
            logger.Debug("CurrentDirectory:" + Directory.GetCurrentDirectory());
            logger.Debug("Configuration file: " + configFile);
            logger.Debug("Cheking if configuration file exists");
            if (!File.Exists(configFile))
            {
                logger.Warn("config file does not exit!");
                string xmlTemplate = Properties.Resources.SPConfig;
                logger.Debug("Creating config file from template: " + xmlTemplate);
                logger.Debug("Formatted XML:" + xmlTemplate);
                File.WriteAllText(configFile, xmlTemplate);
                logger.Debug("Config XML written successefuly!");
            }
            // load content
            logger.Debug("reading condiguration file content");
            // usar string
            XmlSerializer serializer = new XmlSerializer(typeof(SPConfig));
            string        xmlText    = "";

            if (File.Exists(configFile))
            {
                xmlText = File.ReadAllText(configFile);
            }
            else
            {
                logger.Error("COULD NOD LOAD CONFIGURATION FILE " + configFile);
                return(new SPConfig());
            }
            logger.Debug("xml configuration file: {" + xmlText + "}");

            // desserialize configuration file
            logger.Debug("-- desserialize configuration file");
            try
            {
                using (TextReader reader = new StringReader(xmlText))
                {
                    configuration = (SPConfig)serializer.Deserialize(reader);
                    reader.Close();
                }
                configuration.systemDefaults();
                return(configuration);
            }
            catch (Exception ex)
            {
                logger.Error("*** COULD NOD PARSE CONFIGURATION FILE " + configFile);
                logger.Error("*** Message:" + ex.Message + ", StackTrace:" + ex.StackTrace);
                return(new SPConfig());
            }
        }
        /// <summary>
        /// Save current loaded configuration on the default configuration file.
        /// </summary>
        /// <returns></returns>
        public bool saveConfig(out string errMsg)
        {
            string configFile = PathsHelper.getConfigFileName();

            return(this.saveConfig(configFile, out errMsg));
        }