public void AddLog(string message, TaskLogType type) { Dispatcher.Invoke(() => { if (mainTabControl.SelectedIndex != 0) { mainTabControl.SelectedIndex = 0; } TaskLogManager.AddLog(message, type); ScrollToEnd(); }); }
public void DownloadDBProvider() { Thread thr = new Thread(() => { try { WebClient wc = new WebClient(); wc.DownloadProgressChanged += Wc_DownloadProgressChanged; wc.DownloadFileCompleted += Wc_DownloadFileCompleted; wc.DownloadFileAsync(new Uri("https://download.microsoft.com/download/f/d/8/fd8c20d8-e38a-48b6-8691-542403b91da1/AccessDatabaseEngine.exe"), FullPath); } catch (Exception) { TaskLogManager.AddLog("인터넷 연결에 문제가 생긴 것 같습니다.", TaskLogType.Failed); } }); thr.Start(); }
private void Searcher_SearchFinished(object sender, SearchFinishedEventArgs e) { Dispatcher.Invoke(() => { TaskProgressBar itm = dict[sender as ISearcher]; itm.SetValue(value: itm.Maximum, message: "검색이 완료되었습니다."); itm.TaskFinished = true; TaskLogManager.AddLog("검색이 완료되었습니다.", TaskLogType.Searching); switch (e.ServiceKind) { case ServiceKind.GoogleCSE: SettingManager.GoogleCredentials.Item2 = VerifyType.Verified; SettingManager.GoogleCredentials.Item4 = VerifyType.Verified; break; case ServiceKind.Youtube: SettingManager.YoutubeCredentials.Item2 = VerifyType.Verified; break; } }); }
public static bool CSVExport <TResult>(string fileLocation, IEnumerable <TResult> searchResult) where TResult : ISearchResult { var overlapOption = SettingManager.ExportOptionSetting.CSVOverlapOption; if (File.Exists(fileLocation)) { if (overlapOption == FileOverrideOption.ThrowError) { TaskLogManager.AddLog($"'{fileLocation}' 위치가 비어있지 않습니다. CSV로 내보낼 수 없었습니다.", TaskLogType.Failed); return(false); } else if (overlapOption == FileOverrideOption.AppendAdditionalNumber) { int number = 1; var info = new FileInfo(fileLocation); while (true) { string tempName = $"{Path.Combine(info.DirectoryName, info.Name)} ({number++}).csv"; if (!File.Exists(tempName)) { fileLocation = tempName; break; } continue; } } } var csvFormat = new CSVFormat <TResult>(); string str = csvFormat.FormattingData(searchResult); return(str.SaveAsFile(fileLocation, (File.Exists(fileLocation) && overlapOption == FileOverrideOption.AppendContent))); }
public MainWindow() { InitializeComponent(); #region [ Initalization ] dict = new Dictionary <ISearcher, TaskProgressBar>(); TaskLogManager.Init(); SettingManager.Init(); Pair <bool, bool, bool> eUsage = SettingManager.EngineUsage; cbGoogleService.IsChecked = eUsage.Item1; cbTwitterService.IsChecked = eUsage.Item2; cbYoutubeService.IsChecked = eUsage.Item3; CheckVertified(ServiceKind.GoogleCSE); CheckVertified(ServiceKind.Twitter); CheckVertified(ServiceKind.Youtube); SettingManager.GoogleCredentials.PropertyChanged += GoogleCredentials_PropertyChanged; SettingManager.TwitterCredentialChanged += SettingManager_TwitterCredentialChanged; SettingManager.YoutubeCredentials.PropertyChanged += YoutubeCredentials_PropertyChanged; btnSearch.IsEnabled = eUsage.Item1 || eUsage.Item2 || eUsage.Item3; if (SettingManager.TutorialView) { gridHelp.Visibility = Visibility.Hidden; } else { gridHelp.Visibility = Visibility.Visible; bool down = false; gridHelp.MouseDown += ((o, e) => { down = true; }); gridHelp.MouseUp += ((o, e) => { if (down) { gridHelp.Visibility = Visibility.Hidden; SettingManager.TutorialView = true; } }); } #endregion #region [ Event Connection ] this.Loaded += MainWindow_Loaded; btnSearch.Click += BtnSearch_Click; cbGoogleService.Checked += CheckChanged; cbGoogleService.Unchecked += CheckChanged; cbTwitterService.Checked += CheckChanged; cbTwitterService.Unchecked += CheckChanged; cbYoutubeService.Checked += CheckChanged; cbYoutubeService.Unchecked += CheckChanged; btnKeywordSearch.Click += BtnKeywordSearch_Click; btnLog.Click += BtnLog_Click; btnVertManager.Click += BtnVertManager_Click; btnTaskReport.Click += BtnTaskReport_Click; btnExportOption.Click += BtnExportOption_Click; btnUp.Click += BtnUp_Click; btnDown.Click += BtnDown_Click; mainTabControl.SelectionChanged += MainTabControl_SelectionChanged; TaskLogManager.LogAdded += LogManager_LogAdded; previewTabAutoFocusing.Checked += PreviewTabAutoFocusing_Checked; previewTabAutoFocusing.Unchecked += PreviewTabAutoFocusing_Checked; btnVisitRule.MouseDown += BtnVisitRule_MouseDown; this.Closing += MainWindow_Closing; #endregion }