コード例 #1
0
        private void btnGo_Click(object sender, RoutedEventArgs e)
        {
            string path = this.tbShowPath.Text.Trim();

            if (string.IsNullOrWhiteSpace(path))
            {
                System.Windows.Forms.MessageBox.Show("請先選擇目錄", "Message");
            }
            else
            {
                int    filesCount     = 0;
                int    errorFileCount = 0;
                string msgColor       = "black";
                dtResult = new DataTable();
                SetDataTable(dtResult);
                string[] fileEntries = Directory.GetFiles(path, "既有產品報價表*.xlsx");
                if (fileEntries.Length != 0)
                {
                    foreach (string filePath in fileEntries)
                    {
                        bool error = ProcessFile(filePath);
                        filesCount++;
                        if (error == true)
                        {
                            errorFileCount++;
                        }
                    }
                    // Delete from database first
                    ProfitReportBLL.deleteAllProfitReport();

                    // Insert into database
                    if (FunctionClass.DataTableToDb(dtResult, "ProfitReport"))
                    {
                        // Create excel journal report
                        string fileName = "";
                        if (rbTypePo.IsChecked == true)
                        {
                            fileName = "1_PO流水帳_系統產出";
                        }
                        else
                        {
                            fileName = "1_總表流水帳_系統產出";
                        }
                        FunctionClass.DataTableToExcelFile(dtResult, path + "\\", fileName);

                        // Create excel profit report
                        // 1.get data from database
                        dtResult = ProfitReportBLL.getProfitReport("2016");
                        // 2.create excel
                        FunctionClass.DataTableToExcelFile(dtResult, path + "\\", "2_利潤表");
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("流水匯入資料庫失敗", "Message");
                    }

                    if (errorFileCount != 0)
                    {
                        msgColor = "red";
                    }
                    SendMsg("共處理 " + filesCount.ToString() + " 筆檔案,共有" + errorFileCount + " 筆資料有錯誤", msgColor);
                    svMsg.ScrollToBottom();
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("目錄內無檔案", "Message");
                }
                dtResult = null;
            }
        }