예제 #1
0
        private void InitializeLogger()
        {
            try
            {
                if (File.Exists(FilePaths.PreferencesFilePath))
                {
                    var gxs              = new GenericXmlSerializer <PreferencesModel>();
                    var preferences      = gxs.DeSerialize(FilePaths.PreferencesFilePath);
                    var logLevel         = preferences.CurrentLogLevel;
                    var logFilePath      = preferences.LogFilePath;
                    var isLoggingEnabled = preferences.IsLoggingEnabled;

                    if (logLevel == "DEBUG")
                    {
                        Logger.Initialize(logFilePath, Logger.LogLevels.Debug, isLoggingEnabled);
                    }
                    else if (logLevel == "INFO")
                    {
                        Logger.Initialize(logFilePath, Logger.LogLevels.Info, isLoggingEnabled);
                    }
                    else if (logLevel == "ERROR")
                    {
                        Logger.Initialize(logFilePath, Logger.LogLevels.Error, isLoggingEnabled);
                    }
                }
                else
                {
                    Logger.Initialize(FilePaths.DefaultLogFilePath, Logger.LogLevels.Info, true);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "An error occured while initializing the logger", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #2
0
        public void WriteFromXml(string directoryPath, string fileExtension, string destination, int[] propertyIndexes, bool isIgnore, bool displayHeaders, bool needPreprocessing)
        {
            var filePaths = Directory.GetFiles(directoryPath, fileExtension, SearchOption.AllDirectories);

            if (filePaths.Length > 0)
            {
                using (var sw = new StreamWriter(destination))
                {
                    _gxs = new GenericXmlSerializer <T>();
                    if (displayHeaders)
                    {
                        var obj = _gxs.DeSerialize(filePaths[0]);
                        sw.WriteLine(obj.GetHeaders(_seperator));
                    }
                    foreach (var filePath in filePaths)
                    {
                        var obj = _gxs.DeSerialize(filePath);
                        sw.WriteLine(obj.ToCsv(propertyIndexes, isIgnore, needPreprocessing, _seperator));
                    }
                }
            }
        }
예제 #3
0
        public PreferencesViewModel()
        {
            Logger.GetInstance().Debug("PreferencesViewModel() >>");

            try
            {
                ViewID = Guid.NewGuid();

                if (DesignerProperties.GetIsInDesignMode(new DependencyObject()))
                {
                    return;
                }

                LoadCommands();

                if (File.Exists(FilePaths.PreferencesFilePath))
                {
                    var gxs = new GenericXmlSerializer <PreferencesModel>();
                    CurrentPreferences = gxs.DeSerialize(FilePaths.PreferencesFilePath);
                }
                else
                {
                    throw new Exception(FilePaths.PreferencesFilePath + " file does not exist!");
                }

                LogLevels = new ObservableCollection <string> {
                    "DEBUG", "INFO", "ERROR"
                };

                var fonts = new ObservableCollection <string>();
                foreach (var fontFamily in FontFamily.Families)
                {
                    fonts.Add(fontFamily.Name);
                }
                Fonts = fonts;

                FontSizes = new ObservableCollection <string>
                {
                    "8",
                    "9",
                    "10",
                    "11",
                    "12",
                    "14",
                    "18",
                    "24",
                    "30",
                    "36",
                    "48",
                    "60",
                    "72"
                };

                Languages = new ObservableCollection <string> {
                    "English"
                };
                Colors = new ObservableCollection <string> {
                    "Amber", "Blue", "BlueGrey", "Brown", "Cyan", "DeepOrange", "DeepPurple", "Green", "Grey", "Indigo", "LightBlue", "LightGreen", "Lime",
                    "Orange", "Pink", "Purple", "Red", "Teal", "Yellow"
                };
            }
            catch (Exception e)
            {
                Logger.GetInstance().Error(e.ToString());
                MessageBox.Show(e.Message, "An error occured while initializing the window", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            Logger.GetInstance().Debug("<< PreferencesViewModel()");
        }