using CCDCount.DLL.Tools;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Controls;
namespace CCDCountWpf.WpfPage
{
///
/// AuditTrailPage.xaml 的交互逻辑
///
public partial class AuditTrailPage : Page
{
public AuditTrailPage()
{
InitializeComponent();
this.Height = Double.NaN;
this.Width = Double.NaN;
DataContext = ShowMessageBus.ShowBinding;
InitBatchItems();
test();
string patch = $"{AppDomain.CurrentDomain.BaseDirectory}PDF\\report_with_images.pdf";
//BatchRecordWebBrowser.Navigate(new Uri(patch));
}
///
/// 初始化配方列表
///
private void InitBatchItems()
{
string folderPath = $"{AppDomain.CurrentDomain.BaseDirectory}DATA\\ActiveObjectData\\Cam{MessageBus.MainThreadS[0].cameraConfig.CamerNo}";
if (!Directory.Exists(folderPath))
{
// 创建文件夹
Directory.CreateDirectory(folderPath);
}
try
{
// 使用 DirectoryInfo 获取文件并按修改时间排序
DirectoryInfo dirInfo = new DirectoryInfo(folderPath);
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
// 按照修改时间排序(最新的在前)
var sortedFiles = files.OrderByDescending(f => f.LastWriteTime).ToArray();
ShowMessageBus.ShowBinding.BatchItems.Clear();
foreach (FileInfo file in sortedFiles)
{
ShowMessageBus.ShowBinding.BatchItems.Add(Path.GetFileNameWithoutExtension(file.Name).Split('_')[1]);
}
BatchNumComBox.SelectedIndex = 0;
}
catch
{ }
}
///
/// 初始化配方列表
///
private void InitBatchItems(DateTime Mintime,DateTime MaxTime)
{
string folderPath = $"{AppDomain.CurrentDomain.BaseDirectory}DATA\\ActiveObjectData\\Cam{MessageBus.MainThreadS[0].cameraConfig.CamerNo}";
if (!Directory.Exists(folderPath))
{
// 创建文件夹
Directory.CreateDirectory(folderPath);
}
try
{
// 使用 DirectoryInfo 获取文件并按修改时间排序
DirectoryInfo dirInfo = new DirectoryInfo(folderPath);
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
// 按照修改时间排序(最新的在前)
var sortedFiles = files.Where(f=>f.CreationTime>Mintime&&f.CreationTime f.LastWriteTime).ToArray();
ShowMessageBus.ShowBinding.BatchItems.Clear();
foreach (FileInfo file in sortedFiles)
{
ShowMessageBus.ShowBinding.BatchItems.Add(Path.GetFileNameWithoutExtension(file.Name).Split('_')[1]);
}
BatchNumComBox.SelectedIndex = 0;
}
catch
{ }
}
///
/// 初始化配方列表
///
private void InitBatchItemsByMinTime(DateTime Mintime)
{
string folderPath = $"{AppDomain.CurrentDomain.BaseDirectory}DATA\\ActiveObjectData\\Cam{MessageBus.MainThreadS[0].cameraConfig.CamerNo}";
if (!Directory.Exists(folderPath))
{
// 创建文件夹
Directory.CreateDirectory(folderPath);
}
try
{
// 使用 DirectoryInfo 获取文件并按修改时间排序
DirectoryInfo dirInfo = new DirectoryInfo(folderPath);
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
// 按照修改时间排序(最新的在前)
var sortedFiles = files.Where(f => f.CreationTime > Mintime).OrderByDescending(f => f.LastWriteTime).ToArray();
ShowMessageBus.ShowBinding.BatchItems.Clear();
foreach (FileInfo file in sortedFiles)
{
ShowMessageBus.ShowBinding.BatchItems.Add(Path.GetFileNameWithoutExtension(file.Name).Split('_')[1]);
}
BatchNumComBox.SelectedIndex = 0;
}
catch
{ }
}
///
/// 初始化配方列表
///
private void InitBatchItemsByMaxTime(DateTime MaxTime)
{
string folderPath = $"{AppDomain.CurrentDomain.BaseDirectory}DATA\\ActiveObjectData\\Cam{MessageBus.MainThreadS[0].cameraConfig.CamerNo}";
if (!Directory.Exists(folderPath))
{
// 创建文件夹
Directory.CreateDirectory(folderPath);
}
try
{
// 使用 DirectoryInfo 获取文件并按修改时间排序
DirectoryInfo dirInfo = new DirectoryInfo(folderPath);
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);
// 按照修改时间排序(最新的在前)
var sortedFiles = files.Where(f=>f.CreationTime < MaxTime.AddDays(1)).OrderByDescending(f => f.LastWriteTime).ToArray();
ShowMessageBus.ShowBinding.BatchItems.Clear();
foreach (FileInfo file in sortedFiles)
{
ShowMessageBus.ShowBinding.BatchItems.Add(Path.GetFileNameWithoutExtension(file.Name).Split('_')[1]);
}
BatchNumComBox.SelectedIndex = 0;
}
catch
{ }
}
private void BatchMinTime_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
if(BatchMinTime.SelectedDate==null)
{
return;
}
else
{
if(BatchMaxTime.SelectedDate == null)
{
InitBatchItemsByMinTime((DateTime)BatchMinTime.SelectedDate);
}
else
{
InitBatchItems((DateTime)BatchMinTime.SelectedDate, (DateTime)BatchMaxTime.SelectedDate);
}
}
}
private void BatchMaxTime_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
if (BatchMaxTime.SelectedDate == null)
{
return;
}
else
{
if (BatchMinTime.SelectedDate == null)
{
InitBatchItemsByMaxTime((DateTime)BatchMaxTime.SelectedDate);
}
else
{
InitBatchItems((DateTime)BatchMinTime.SelectedDate, (DateTime)BatchMaxTime.SelectedDate);
}
}
}
private void test()
{
PDFGenerateTools pDFGenerate = new PDFGenerateTools($"{AppDomain.CurrentDomain.BaseDirectory}PDF\\report_with_images.pdf");
pDFGenerate.InsertText("工资单", 20, 3);
pDFGenerate.InsertNewLine();
pDFGenerate.InsertImage("D:\\work\\WindowsFormsTest\\PDFTest\\bin\\Debug\\mmexport1752891278116.jpg");
pDFGenerate.InsertNewLine();
pDFGenerate.InsertNewLine();
pDFGenerate.InsertText("员工列表", 12, 1);
pDFGenerate.SavePDF();
}
}
}