ConverterProgressBarDialogViewModel.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. using ComPDFKit.PDFDocument;
  2. using ComPDFKit_Conversion.Converter;
  3. using ComPDFKit_Conversion.Options;
  4. using PDF_Master.Helper;
  5. using PDF_Master.Model;
  6. using PDF_Master.Model.Dialog.ConverterDialogs;
  7. using Prism.Commands;
  8. using Prism.Mvvm;
  9. using Prism.Services.Dialogs;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Diagnostics;
  13. using System.Linq;
  14. using System.Net.Mime;
  15. using System.Windows.Media;
  16. using static Dropbox.Api.Sharing.ListFileMembersIndividualResult;
  17. using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip;
  18. namespace PDF_Master.ViewModels.Dialog.ConverterDialogs
  19. {
  20. public class ConverterProgressBarDialogViewModel : BindableBase,IDialogAware
  21. {
  22. public string Title => "";
  23. public event Action<IDialogResult> RequestClose;
  24. #region 参数和属性
  25. private string _pageIndex = "0";
  26. /// <value>
  27. /// 当前页
  28. /// </value>
  29. public string PageIndex
  30. {
  31. get { return _pageIndex; }
  32. set
  33. {
  34. SetProperty(ref _pageIndex, value);
  35. }
  36. }
  37. private string _pageNumber = "0";
  38. /// <value>
  39. /// 总页数
  40. /// </value>
  41. public string PageNumber
  42. {
  43. get { return _pageNumber; }
  44. set
  45. {
  46. SetProperty(ref _pageNumber, value);
  47. }
  48. }
  49. #endregion
  50. public DelegateCommand CloseCompressCommand { get; set; }
  51. public ConverterProgressBarDialogViewModel()
  52. {
  53. CloseCompressCommand = new DelegateCommand(Close);
  54. }
  55. #region 逻辑函数
  56. private void SetProgress(int pageIndex)
  57. {
  58. PageIndex=pageIndex.ToString();
  59. }
  60. public void Close()
  61. {
  62. RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
  63. }
  64. #endregion
  65. #region 构架行为
  66. public bool CanCloseDialog()
  67. {
  68. return true;
  69. }
  70. public void OnDialogClosed()
  71. {
  72. //ConverterHelper.Clear();
  73. }
  74. public void OnDialogOpened(IDialogParameters parameters)
  75. {
  76. #region 转档
  77. //bool result=false;
  78. //string convertType="";
  79. //OnProgress GetProgress = null;
  80. //GetProgress += SetProgress;
  81. //parameters.TryGetValue<string>(ParameterNames.ConverterType, out convertType);
  82. //switch (convertType)
  83. //{
  84. // case "CSV":
  85. // ConverterCSVDialogModel ConverterCSVModel;
  86. // parameters.TryGetValue<ConverterCSVDialogModel>(ParameterNames.ConverterTypeModel, out ConverterCSVModel);
  87. // if (ConverterCSVModel != null)
  88. // {
  89. // PageNumber = ConverterCSVModel.PageIndexLists.Count().ToString();
  90. // for (int i = 0; ConverterCSVModel.PageIndexLists.Count > i; i++)
  91. // {
  92. // ConverterCSVModel.PageIndexLists[i] = ConverterCSVModel.PageIndexLists[i] + 1;
  93. // }
  94. // result = await ConverterHelper.CSVConvert(ConverterCSVModel.InputPath, ConverterCSVModel.OutputPath, GetProgress, ConverterCSVModel.PageIndexLists, ConverterCSVModel.Pawssword, ConverterCSVModel.csvOptions);
  95. // }
  96. // break;
  97. // case "Excel":
  98. // ConverterExcelDialogModel ConverterExcelModel;
  99. // parameters.TryGetValue<ConverterExcelDialogModel>(ParameterNames.ConverterTypeModel, out ConverterExcelModel);
  100. // if (ConverterExcelModel != null)
  101. // {
  102. // PageNumber = ConverterExcelModel.PageIndexLists.Count().ToString();
  103. // for (int i = 0; ConverterExcelModel.PageIndexLists.Count > i; i++)
  104. // {
  105. // ConverterExcelModel.PageIndexLists[i] = ConverterExcelModel.PageIndexLists[i] + 1;
  106. // }
  107. // result = await ConverterHelper.ExcelConvert(ConverterExcelModel.InputPath, ConverterExcelModel.OutputPath, GetProgress, ConverterExcelModel.PageIndexLists, ConverterExcelModel.Pawssword, ConverterExcelModel.excelOptions);
  108. // }
  109. // break;
  110. // case "HTML":
  111. // ConverterHTMLDialogModel ConverterHTMLModel;
  112. // parameters.TryGetValue<ConverterHTMLDialogModel>(ParameterNames.ConverterTypeModel, out ConverterHTMLModel);
  113. // if (ConverterHTMLModel != null)
  114. // {
  115. // PageNumber = ConverterHTMLModel.PageIndexLists.Count().ToString();
  116. // for (int i = 0; ConverterHTMLModel.PageIndexLists.Count > i; i++)
  117. // {
  118. // ConverterHTMLModel.PageIndexLists[i] = ConverterHTMLModel.PageIndexLists[i] + 1;
  119. // }
  120. // result = await ConverterHelper.HTMLConvert(ConverterHTMLModel.InputPath, ConverterHTMLModel.OutputPath, GetProgress, ConverterHTMLModel.PageIndexLists, ConverterHTMLModel.Pawssword, ConverterHTMLModel.htmlOptions);
  121. // }
  122. // break;
  123. // case "Img":
  124. // ConverterImgDialogModel ConverterImgModel;
  125. // parameters.TryGetValue<ConverterImgDialogModel>(ParameterNames.ConverterTypeModel, out ConverterImgModel);
  126. // if (ConverterImgModel != null)
  127. // {
  128. // PageNumber = ConverterImgModel.PageIndexLists.Count().ToString();
  129. // for (int i=0; ConverterImgModel.PageIndexLists.Count>i;i++) {
  130. // ConverterImgModel.PageIndexLists[i] = ConverterImgModel.PageIndexLists[i] + 1;
  131. // }
  132. // result = await ConverterHelper.ImgConvert(ConverterImgModel.InputPath, ConverterImgModel.OutputPath, GetProgress, ConverterImgModel.PageIndexLists, ConverterImgModel.Pawssword, ConverterImgModel.imageType, ConverterImgModel.imgOptions);
  133. // }
  134. // break;
  135. // case "PPT":
  136. // ConverterPPTDialogModel ConverterPPTModel;
  137. // parameters.TryGetValue<ConverterPPTDialogModel>(ParameterNames.ConverterTypeModel, out ConverterPPTModel);
  138. // if (ConverterPPTModel != null)
  139. // {
  140. // PageNumber = ConverterPPTModel.PageIndexLists.Count().ToString();
  141. // for (int i = 0; ConverterPPTModel.PageIndexLists.Count > i; i++)
  142. // {
  143. // ConverterPPTModel.PageIndexLists[i] = ConverterPPTModel.PageIndexLists[i] + 1;
  144. // }
  145. // result = await ConverterHelper.PPTConvert(ConverterPPTModel.InputPath, ConverterPPTModel.OutputPath, GetProgress, ConverterPPTModel.PageIndexLists, ConverterPPTModel.Pawssword, ConverterPPTModel.pPTOptions);
  146. // }
  147. // break;
  148. // case "RTF":
  149. // ConverterRTFDialogModel ConverterRTFModel;
  150. // parameters.TryGetValue<ConverterRTFDialogModel>(ParameterNames.ConverterTypeModel, out ConverterRTFModel);
  151. // if (ConverterRTFModel != null)
  152. // {
  153. // PageNumber = ConverterRTFModel.PageIndexLists.Count().ToString();
  154. // for (int i = 0; ConverterRTFModel.PageIndexLists.Count > i; i++)
  155. // {
  156. // ConverterRTFModel.PageIndexLists[i] = ConverterRTFModel.PageIndexLists[i] + 1;
  157. // }
  158. // result = await ConverterHelper.RTFConvert(ConverterRTFModel.InputPath, ConverterRTFModel.OutputPath, GetProgress, ConverterRTFModel.PageIndexLists, ConverterRTFModel.Pawssword, ConverterRTFModel.rTFOptions);
  159. // }
  160. // break;
  161. // case "Text":
  162. // ConverterTextDialogModel ConverterTextModel;
  163. // parameters.TryGetValue<ConverterTextDialogModel>(ParameterNames.ConverterTypeModel, out ConverterTextModel);
  164. // if (ConverterTextModel != null)
  165. // {
  166. // PageNumber = ConverterTextModel.PageIndexLists.Count().ToString();
  167. // for (int i = 0; ConverterTextModel.PageIndexLists.Count > i; i++)
  168. // {
  169. // ConverterTextModel.PageIndexLists[i] = ConverterTextModel.PageIndexLists[i] + 1;
  170. // }
  171. // result = await ConverterHelper.TxtConvert(ConverterTextModel.InputPath, ConverterTextModel.OutputPath, GetProgress, ConverterTextModel.PageIndexLists, ConverterTextModel.Pawssword, ConverterTextModel.txtOptions);
  172. // }
  173. // break;
  174. // case "Word":
  175. // ConverterWordDialogModel ConverterWordModel;
  176. // parameters.TryGetValue<ConverterWordDialogModel>(ParameterNames.ConverterTypeModel, out ConverterWordModel);
  177. // if (ConverterWordModel != null) {
  178. // PageNumber = ConverterWordModel.PageIndexLists.Count().ToString();
  179. // for (int i = 0; ConverterWordModel.PageIndexLists.Count > i; i++)
  180. // {
  181. // ConverterWordModel.PageIndexLists[i] = ConverterWordModel.PageIndexLists[i] + 1;
  182. // }
  183. // result = await ConverterHelper.WordConvert(ConverterWordModel.InputPath, ConverterWordModel.OutputPath, GetProgress, ConverterWordModel.PageIndexLists, ConverterWordModel.Pawssword, ConverterWordModel.wordOptions);
  184. // }
  185. // break;
  186. // default:
  187. // break;
  188. //}
  189. #endregion
  190. RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
  191. }
  192. #endregion
  193. }
  194. }