using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PDF_Office.Model.HomePageToolsDialogs
{
public class HomePageSplitDialogModel:BindableBase
{
///
/// 拆分模式
///
public SplitMode Mode = SplitMode.AveragePages;
///
/// 拆分模式份数或者页数
///
public int GetModeCount = 1;
///
/// 页面信息
///
public string PageRange = "1,3-4,10";
///
/// 文件名标签
///
private string fileNameLabel = "part";
public string FileNameLabel
{
get { return fileNameLabel; }
set
{
SetProperty(ref fileNameLabel, value);
RefreshFileName();
}
}
private bool hasLabel = true;
///
/// 是否含有标签
///
public bool HasLabel
{
get { return hasLabel; }
set
{
SetProperty(ref hasLabel, value);
RefreshFileName();
}
}
///
/// 文件名与标签分隔符
///
private string fileNameDeimiter="-";
public string FileNameDeimiter
{
get { return fileNameDeimiter; }
set
{
SetProperty(ref fileNameDeimiter, value);
RefreshFileName();
}
}
private bool hasDeimiter = true;
///
/// 是否含有分隔符
///
public bool HasDeimiter
{
get { return hasDeimiter; }
set
{
SetProperty(ref hasDeimiter, value);
RefreshFileName();
}
}
///
/// 文件名与标签分隔符
///
public bool FrontFileName = true;
///
/// 页码 存入页码范围;
///
public List PageParm = new List { };
///
/// 文件名;
///
private string fileName = "";
public string FileName
{
get { return fileName; }
set
{
SetProperty(ref fileName, value);
}
}
private bool isSourceNameFront = true;
///
/// 原始文档名前置
///
public bool IsSourceNameFront
{
get { return isSourceNameFront; }
set
{
SetProperty(ref isSourceNameFront, value);
RefreshFileName();
}
}
private string sourceName;
///
/// 原始文件名
///
public string SourceFileName
{
get { return sourceName; }
set
{
SetProperty(ref sourceName, value);
RefreshFileName();
}
}
///
/// 刷新文件名
///
public void RefreshFileName()
{
string label = HasLabel ? FileNameLabel : "";
string deimiter = hasDeimiter ? FileNameDeimiter : "";
if(isSourceNameFront)
{
FileName = SourceFileName + deimiter + label + ".pdf";
}
else
{
FileName = label + deimiter + SourceFileName + ".pdf";
}
}
public enum SplitMode
{
///
/// 按页平均拆分
///
AveragePages,
///
/// 按文件平均拆分
///
AverageFiles,
///
/// 自定义页码范围拆分
///
CustomPageRange
}
}
}