Example #1
0
 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();
        }
Example #3
0
        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;
                }
            });
        }
Example #4
0
        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)));
        }
Example #5
0
        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
        }