private void ExportTables(ExportTableList exportTableList) { ExportToFile exportToFile = ExportToFile.NewExportToFile(ServerNameTxtBox.Text, DestPathTxtBox.Text, StagePathTxtBox.Text); ExportFileOptions fileOptions = GetExportFileOptions(); ExportDataResults expResults = exportToFile.ExportTables(exportTableList, fileOptions); DisplayResults(expResults); }
protected void Page_Load(object sender, EventArgs e) { int.TryParse(Request["a"], out AuditID); DataTable dt = (DataTable)DBUtil.DBOp("ConnDB", "exec [dbo].[usp_SearchCheck_xExportSearchLogDetailList] {0} ", new string[] { AuditID.ToString() } , NSDBUtil.CmdOpType.ExecuteReaderReturnDataTable); ExportToFile etf = new ExportToFile(); etf.ExporttoExcel(dt, "記錄下載"); }
protected void btnExport_Click(object sender, EventArgs e) { int CountyID = 0; int TownID = 0; string BirthDateS; string BirthDateE; string CaseName; string CaseIdNo; string SearchReason; string SearchConditions = ""; string ReportFields = ""; int SearcResultCount = 0; int IsSearch = 0; int SearchKind = 3; BirthDateS = Request.Form["BirthDateS"] ?? ""; BirthDateE = Request.Form["BirthDateE"] ?? ""; if (BirthDateS != "") { try { BirthDateS = TaiwanYear.ToDateTime(BirthDateS).ToString("yyyyMMdd"); } catch { BirthDateS = ""; } } if (BirthDateE != "") { try { BirthDateE = TaiwanYear.ToDateTime(BirthDateE).ToString("yyyyMMdd"); } catch { BirthDateE = ""; } } CaseName = Request.Form["CaseName"] ?? ""; CaseIdNo = Request.Form["CaseIdNo"] ?? ""; int.TryParse(Request.Form["CountyID"], out CountyID); int.TryParse(Request.Form["TownID"], out TownID); int.TryParse(Request.Form["IsSearch"], out IsSearch); SearchReason = Request.Form["SearchReason"] ?? ""; foreach (ListItem item in cblReportFields.Items) { if (item.Selected) { ReportFields += item.Value + ","; } } ReportFields = ReportFields.TrimEnd(','); // Response.Write(string.Format("exec dbo.usp_CaseUser_xGetUserListExport {0},{1},{2},{3},{4},{5},{6} ", CaseName, CaseIdNo, BirthDateS, BirthDateE, CountyID.ToString(), TownID.ToString(), ReportFields)); // Response.Write(ReportFields); DataTable dt = new DataTable(); try { dt = (DataTable)DBUtil.DBOp("ConnDB", "exec dbo.usp_CaseUser_xGetUserListExport {0},{1},{2},{3},{4},{5},{6} ", new string[] { CaseName, CaseIdNo, BirthDateS, BirthDateE, CountyID.ToString(), TownID.ToString(), ReportFields }, NSDBUtil.CmdOpType.ExecuteReaderReturnDataTable); SearcResultCount = dt.Rows.Count; } catch { } finally { DBUtil.DBOp("ConnDB", " exec [dbo].[usp_CaseUser_xAddSearchLog] {0}, {1}, {2} ,{3} ,{4}", new string[] { AuthServer.GetLoginUser().ID.ToString(), SearchConditions, SearchReason, SearcResultCount.ToString(), SearchKind.ToString() }, NSDBUtil.CmdOpType.ExecuteNonQuery); } ExportToFile etf = new ExportToFile(); etf.ExporttoExcel(dt, "批次資料勾稽"); }
private void show_panel(bool back) { switch (IndexCurrent) { case 0: { Text = PluginResources.Qualitivity___Activity_Report_Wizard; panel_welcome.BringToFront(); } break; case 1: { Text = PluginResources.Qualitivity___Activity_Report_Task___Step_1_of_3; panel_project_activties.BringToFront(); } break; case 2: { Text = PluginResources.Qualitivity___Activity_Report_Task___Step_2_of_3; panel_report_options.BringToFront(); } break; case 3: { Text = PluginResources.Qualitivity___Activity_Report_Task___Step_3_of_3; panel_processing.BringToFront(); Application.DoEvents(); panel_button_control.Enabled = false; var maximumReports = 0; #region | get maximum report count | if (checkBox_project_activity_report.Checked) { if (checkBox_project_activity_report_single.Checked) { maximumReports++; } else { maximumReports += objectListView1.CheckedItems.Count; } } if (checkBox_project_activity_document_report.Checked) { maximumReports += objectListView1.CheckedItems.Count; } if (checkBox_project_activity_quality_metric_report.Checked) { maximumReports += objectListView1.CheckedItems.Count; } if (checkBox_project_activity_export_to_file_excel.Checked && (checkBox_project_activity_export_to_file_excel.Checked || checkBox_project_activity_export_to_file_xml.Checked)) { if (checkBox_project_activity_export_to_file_excel.Checked) { if (checkBox_project_activity_export_to_file_single.Checked) { maximumReports++; } else { maximumReports += objectListView1.CheckedItems.Count; } } if (checkBox_project_activity_export_to_file_xml.Checked) { if (checkBox_project_activity_export_to_file_single.Checked) { maximumReports++; } else { maximumReports += objectListView1.CheckedItems.Count; } } } #endregion try { progressBar_import_progress.Value = 0; progressBar_import_progress.Maximum = maximumReports; label_progress_message.Text = string.Format(PluginResources.__0__entries_processed, 0); label_progress_percentage.Text = @"0%"; Application.DoEvents(); Cursor = Cursors.WaitCursor; if (maximumReports > 0) { var checkedActivities = (from OLVListItem lvi in objectListView1.CheckedItems select lvi.RowObject as Activity).ToList(); var documentActivitiesDict = checkedActivities.ToDictionary(activity => activity.Id, Helper.GetDocumentActivityObjects); var companyProfile = new CompanyProfile(); var projectName = string.Empty; if (SelectedProject != null) { companyProfile = Helper.GetClientFromId(SelectedProject.CompanyProfileId); projectName = SelectedProject.Name; } var reports = new Processor(); var currentCounter = 0; var reportFiles = new List <string>(); #region | checkBox_project_activity_report | if (checkBox_project_activity_report.Checked) { if (checkBox_project_activity_report_single.Checked) { UpdateProgressCounter(currentCounter++, maximumReports); var htmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, "Qualitivity.Project.Activity_o_.xml.html"); var xmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, "Qualitivity.Project.Activity_o_.xml"); reports.CreateActivityReport(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, xmlFileFullPath, SelectedProject , checkedActivities, companyProfile, Tracked.Settings.UserProfile, documentActivitiesDict); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Activity PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + DateTimeStamp + ".html"); File.Move(htmlFileFullPath, oFile); reportFiles.Add(oFile); } else { foreach (var activity in checkedActivities) { UpdateProgressCounter(currentCounter++, maximumReports); var htmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, "Qualitivity.Project.Activity_o_.xml.html"); var xmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, "Qualitivity.Project.Activity_o_.xml"); reports.CreateActivityReport(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, xmlFileFullPath, SelectedProject , new List <Activity> { activity }, companyProfile, Tracked.Settings.UserProfile, documentActivitiesDict); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Activity PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + ".AID=" + activity.Id.ToString().PadLeft(6, '0') + DateTimeStamp + ".html"); File.Move(htmlFileFullPath, oFile); reportFiles.Add(oFile); } } } #endregion #region | checkBox_project_activity_document_report | if (checkBox_project_activity_document_report.Checked) { foreach (var activity in checkedActivities) { UpdateProgressCounter(currentCounter++, maximumReports); var htmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, @"Qualitivity.Activity.Document.Overview_o_.xml.html"); var xmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, @"Qualitivity.Activity.Document.Overview_o_.xml"); reports.CreateTrackChangesReport(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, xmlFileFullPath, documentActivitiesDict[activity.Id], activity, companyProfile); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Activity Document Overview PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + ".AID=" + activity.Id.ToString().PadLeft(6, '0') + DateTimeStamp + ".html"); File.Move(htmlFileFullPath, oFile); reportFiles.Add(oFile); } } #endregion #region | checkBox_project_activity_quality_metric_report | if (checkBox_project_activity_quality_metric_report.Checked) { foreach (var activity in checkedActivities) { UpdateProgressCounter(currentCounter++, maximumReports); var htmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, @"Qualitivity.Activity.Quality.Metrics_o_.xml.html"); var xmlFileFullPath = Path.Combine(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, @"Qualitivity.Activity.Quality.Metrics_o_.xml"); reports.CreateQualityMetricsReport(Tracked.Settings.ApplicationPaths.ApplicationTrackChangesReportPath, xmlFileFullPath, projectName, documentActivitiesDict[activity.Id], activity, companyProfile); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Activity Quality Metrics PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + ".AID=" + activity.Id.ToString().PadLeft(6, '0') + DateTimeStamp + ".html"); File.Move(htmlFileFullPath, oFile); reportFiles.Add(oFile); } } #endregion #region | checkBox_project_activity_export_to_file_excel | if (checkBox_project_activity_export_to_file_excel.Checked && (checkBox_project_activity_export_to_file_excel.Checked || checkBox_project_activity_export_to_file_xml.Checked)) { var xmlDasListDict = new Dictionary <int, List <XmlDocumentActivity> >(); foreach (var activity in checkedActivities) { #region | create output data | var xmlDasList = new List <XmlDocumentActivity>(); foreach (var da in documentActivitiesDict[activity.Id]) { foreach (var record in da.Records) { #region | create xml_document_activity object | var xmlDas = new XmlDocumentActivity { ProjectId = da.ProjectId, ProjectName = SelectedProject.Name, ActivityId = da.ProjectActivityId, ActivityName = activity.Name, RecordId = record.Id.ToString(), DocumentId = da.DocumentId, DocumentName = da.TranslatableDocument.DocumentName, DocumentStartDate = da.Started, DocumentStopDate = da.Stopped, DocumentTotalSeconds = da.TicksActivity / 10000000, ParagraphId = record.ParagraphId, SegmentId = record.SegmentId, OriginalConfirmationLevel = record.TranslationOrigins.Original.ConfirmationLevel, OriginalTranslationStatus = record.TranslationOrigins.Original.TranslationStatus, OriginalOriginSystem = record.TranslationOrigins.Original.OriginSystem, OriginalOriginType = record.TranslationOrigins.Original.OriginType, UpdatedConfirmationLevel = record.TranslationOrigins.Updated.ConfirmationLevel, UpdatedTranslationStatus = record.TranslationOrigins.Updated.TranslationStatus, UpdatedOriginSystem = record.TranslationOrigins.Updated.OriginSystem, UpdatedOriginType = record.TranslationOrigins.Updated.OriginType, SourceLang = da.TranslatableDocument.SourceLanguage, TargetLang = da.TranslatableDocument.TargetLanguage, SourceText = Helper.GetCompiledSegmentText( record.ContentSections.SourceSections, activity.ComparisonOptions.IncludeTagsInComparison), TargetText = Helper.GetCompiledSegmentText( record.ContentSections.TargetOriginalSections, activity.ComparisonOptions.IncludeTagsInComparison), UpdatedText = Helper.GetCompiledSegmentText( record.ContentSections.TargetUpdatedSections, activity.ComparisonOptions.IncludeTagsInComparison) }; if (xmlDas.OriginalTranslationStatus == string.Empty && xmlDas.TargetText.Trim() == string.Empty) { xmlDas.OriginalTranslationStatus = @"Not Translated"; } xmlDas.StartDate = record.Started; xmlDas.StopDate = record.Stopped; xmlDas.TotalSeconds = record.TicksElapsed / 10000000; xmlDas.TotalMiliseconds = record.TicksElapsed / 10000; var dld = new EditDistance(record, activity); xmlDas.WordsSource = record.WordCount; xmlDas.EditDistance = dld.Edits; xmlDas.EditDistanceRelative = dld.EditDistanceRelative; xmlDas.PemPercentage = string.Compare(record.TranslationOrigins.Updated.OriginType, @"interactive", StringComparison.OrdinalIgnoreCase) == 0 ? dld.PemPercentage : 100; xmlDas.KeyStrokes = record.TargetKeyStrokes; if (record.QualityMetrics != null) { xmlDas.QualityMetrics = record.QualityMetrics; } #region | comments | xmlDas.CommentsStr = string.Empty; xmlDas.Comments = record.Comments; if (record.Comments != null && record.Comments.Count > 0) { foreach (var comment in record.Comments) { xmlDas.CommentsStr += (xmlDas.CommentsStr.Trim() != string.Empty ? "\r\n\r\n" : string.Empty) + PluginResources.Created__ + Helper.GetStringFromDateTimeMilli(comment.Created.Value) + PluginResources.___Severity__ + comment.Severity + PluginResources.___Author__ + comment.Author + PluginResources.___Comment__ + comment.Content; } } #endregion xmlDasList.Add(xmlDas); #endregion } } xmlDasListDict.Add(activity.Id, xmlDasList); #endregion } var exportToFile = new ExportToFile(); if (checkBox_project_activity_export_to_file_single.Checked) { var xmlList = new List <XmlDocumentActivity>(); foreach (var xmlListItem in xmlDasListDict.Values) { xmlList.AddRange(xmlListItem); } if (checkBox_project_activity_export_to_file_excel.Checked) { UpdateProgressCounter(currentCounter++, maximumReports); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Export PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + DateTimeStamp + ".xlsx"); exportToFile.create_excel_report(oFile, checkedActivities, xmlList); reportFiles.Add(oFile); } if (checkBox_project_activity_export_to_file_xml.Checked) { UpdateProgressCounter(currentCounter++, maximumReports); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Export PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + DateTimeStamp + ".xml"); exportToFile.create_xml_report(oFile, checkedActivities, xmlList); reportFiles.Add(oFile); } } else { foreach (var activity in checkedActivities) { if (checkBox_project_activity_export_to_file_excel.Checked) { UpdateProgressCounter(currentCounter++, maximumReports); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Export PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + ".AID=" + activity.Id.ToString().PadLeft(6, '0') + DateTimeStamp + ".xlsx"); var activity1 = checkedActivities.Find(a => a.Id == activity.Id); exportToFile.create_excel_report(oFile, new List <Activity> { activity1 }, xmlDasListDict[activity.Id]); reportFiles.Add(oFile); } if (!checkBox_project_activity_export_to_file_xml.Checked) { continue; } { UpdateProgressCounter(currentCounter++, maximumReports); var oFile = Path.Combine(textBox_output_folder.Text.Trim(), @"Qualitivity Export PID=" + (SelectedProject != null ? SelectedProject.Id.ToString().PadLeft(6, '0') : "000000") + ".AID=" + activity.Id.ToString().PadLeft(6, '0') + DateTimeStamp + ".xml"); var activity1 = checkedActivities.Find(a => a.Id == activity.Id); exportToFile.create_xml_report(oFile, new List <Activity> { activity1 }, xmlDasListDict[activity.Id]); reportFiles.Add(oFile); } } } } #endregion #region | create zip archive | if (checkBox_report_compression.Checked && reportFiles.Count > 0) { var oFileZip = textBox_report_compresson_name.Text.Trim(); if (!oFileZip.ToLower().EndsWith(".zip")) { oFileZip = oFileZip + ".zip"; } var oFilePathZip = Path.Combine(textBox_output_folder.Text.Trim(), oFileZip); using (var newFile = ZipFile.Open(oFilePathZip, ZipArchiveMode.Create)) { foreach (var file in reportFiles) { newFile.CreateEntryFromFile(file, Path.GetFileName(file), CompressionLevel.Fastest); } } try { foreach (var file in reportFiles) { File.Delete(file); } } catch { // ignored } } #endregion #region | open output folder in win explorer | if (checkBox_open_output_folder_when_complete.Checked) { if (Directory.Exists(textBox_output_folder.Text.Trim())) { Process.Start(textBox_output_folder.Text.Trim()); } else { MessageBox.Show(this, PluginResources.Invalid_directory_, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } } #endregion } } catch (Exception ex) { MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { panel_button_control.Enabled = true; Cursor = Cursors.Default; } } break; } check_enabled(); }