Пример #1
0
        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);
        }
Пример #2
0
    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, "記錄下載");
    }
Пример #3
0
    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, "批次資料勾稽");
    }
Пример #4
0
        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();
        }