IAPCompareDialogViewModel.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. using PDF_Master.DataConvert;
  2. using Prism.Commands;
  3. using Prism.Mvvm;
  4. using Prism.Regions;
  5. using Prism.Services.Dialogs;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. using System.Windows.Data;
  11. namespace PDF_Master.ViewModels.Dialog.ServiceDialog
  12. {
  13. public class IAPCompareDialogViewModel : BindableBase,IDialogAware
  14. {
  15. public string Title => "";
  16. public event Action<IDialogResult> RequestClose;
  17. #region 文案
  18. private string _Text_Signup = "";
  19. public string Text_Signup
  20. {
  21. get { return _Text_Signup; }
  22. set
  23. {
  24. SetProperty(ref _Text_Signup, value);
  25. }
  26. }
  27. private string _Text_Login = "";
  28. public string Text_Login
  29. {
  30. get { return _Text_Login; }
  31. set
  32. {
  33. SetProperty(ref _Text_Login, value);
  34. }
  35. }
  36. private string _Text_Log;
  37. public string Text_Log
  38. {
  39. get { return _Text_Log; }
  40. set
  41. {
  42. SetProperty(ref _Text_Log, value);
  43. }
  44. }
  45. private string _Text_Free;
  46. public string Text_Free
  47. {
  48. get { return _Text_Free; }
  49. set
  50. {
  51. SetProperty(ref _Text_Free, value);
  52. }
  53. }
  54. private string _Text_Unregistered;
  55. public string Text_Unregistered
  56. {
  57. get { return _Text_Unregistered; }
  58. set
  59. {
  60. SetProperty(ref _Text_Unregistered, value);
  61. }
  62. }
  63. private string _Text_Registered;
  64. public string Text_Registered
  65. {
  66. get { return _Text_Registered; }
  67. set
  68. {
  69. SetProperty(ref _Text_Registered, value);
  70. }
  71. }
  72. private string _Text_CreatePDF;
  73. public string Text_CreatePDF
  74. {
  75. get { return _Text_CreatePDF; }
  76. set
  77. {
  78. SetProperty(ref _Text_CreatePDF, value);
  79. }
  80. }
  81. private string _Text_CreatePDFfrom;
  82. public string Text_CreatePDFfrom
  83. {
  84. get { return _Text_CreatePDFfrom; }
  85. set
  86. {
  87. SetProperty(ref _Text_CreatePDFfrom, value);
  88. }
  89. }
  90. private string _Text_CreatePDFfromscanner;
  91. public string Text_CreatePDFfromscanner
  92. {
  93. get { return _Text_CreatePDFfromscanner; }
  94. set
  95. {
  96. SetProperty(ref _Text_CreatePDFfromscanner, value);
  97. }
  98. }
  99. private string _Text_ConvertPDF;
  100. public string Text_ConvertPDF
  101. {
  102. get { return _Text_ConvertPDF; }
  103. set
  104. {
  105. SetProperty(ref _Text_ConvertPDF, value);
  106. }
  107. }
  108. private string _Text_ConvertPDFtoMicrosoft;
  109. public string Text_ConvertPDFtoMicrosoft
  110. {
  111. get { return _Text_ConvertPDFtoMicrosoft; }
  112. set
  113. {
  114. SetProperty(ref _Text_ConvertPDFtoMicrosoft, value);
  115. }
  116. }
  117. private string _Text_TurnPDF;
  118. public string Text_TurnPDF
  119. {
  120. get { return _Text_TurnPDF; }
  121. set
  122. {
  123. SetProperty(ref _Text_TurnPDF, value);
  124. }
  125. }
  126. private string _Text_Save;
  127. public string Text_Save
  128. {
  129. get { return _Text_Save; }
  130. set
  131. {
  132. SetProperty(ref _Text_Save, value);
  133. }
  134. }
  135. private string _Text_Edit;
  136. public string Text_Edit
  137. {
  138. get { return _Text_Edit; }
  139. set
  140. {
  141. SetProperty(ref _Text_Edit, value);
  142. }
  143. }
  144. private string _Text_Extract;
  145. public string Text_Extract
  146. {
  147. get { return _Text_Extract; }
  148. set
  149. {
  150. SetProperty(ref _Text_Extract, value);
  151. }
  152. }
  153. private string _Text_Advanced;
  154. public string Text_Advanced
  155. {
  156. get { return _Text_Advanced; }
  157. set
  158. {
  159. SetProperty(ref _Text_Advanced, value);
  160. }
  161. }
  162. private string _Text_Compress;
  163. public string Text_Compress
  164. {
  165. get { return _Text_Compress; }
  166. set
  167. {
  168. SetProperty(ref _Text_Compress, value);
  169. }
  170. }
  171. private string _Text_Merge;
  172. public string Text_Merge
  173. {
  174. get { return _Text_Merge; }
  175. set
  176. {
  177. SetProperty(ref _Text_Merge, value);
  178. }
  179. }
  180. private string _Text_Fill;
  181. public string Text_Fill
  182. {
  183. get { return _Text_Fill; }
  184. set
  185. {
  186. SetProperty(ref _Text_Fill, value);
  187. }
  188. }
  189. private string _Text_Crop;
  190. public string Text_Crop
  191. {
  192. get { return _Text_Crop; }
  193. set
  194. {
  195. SetProperty(ref _Text_Crop, value);
  196. }
  197. }
  198. private string _Text_Rotate;
  199. public string Text_Rotate
  200. {
  201. get { return _Text_Rotate; }
  202. set
  203. {
  204. SetProperty(ref _Text_Rotate, value);
  205. }
  206. }
  207. private string _Text_Annotate;
  208. public string Text_Annotate
  209. {
  210. get { return _Text_Annotate; }
  211. set
  212. {
  213. SetProperty(ref _Text_Annotate, value);
  214. }
  215. }
  216. private string _Text_Basic;
  217. public string Text_Basic
  218. {
  219. get { return _Text_Basic; }
  220. set
  221. {
  222. SetProperty(ref _Text_Basic, value);
  223. }
  224. }
  225. private string _Text_Hyperlink;
  226. public string Text_Hyperlink
  227. {
  228. get { return _Text_Hyperlink; }
  229. set
  230. {
  231. SetProperty(ref _Text_Hyperlink, value);
  232. }
  233. }
  234. private string _Text_Stamp;
  235. public string Text_Stamp
  236. {
  237. get { return _Text_Stamp; }
  238. set
  239. {
  240. SetProperty(ref _Text_Stamp, value);
  241. }
  242. }
  243. private string _Text_Signature;
  244. public string Text_Signature
  245. {
  246. get { return _Text_Signature; }
  247. set
  248. {
  249. SetProperty(ref _Text_Signature, value);
  250. }
  251. }
  252. private string _Text_Security;
  253. public string Text_Security
  254. {
  255. get { return _Text_Security; }
  256. set
  257. {
  258. SetProperty(ref _Text_Security, value);
  259. }
  260. }
  261. private string _Text_Add;
  262. public string Text_Add
  263. {
  264. get { return _Text_Add; }
  265. set
  266. {
  267. SetProperty(ref _Text_Add, value);
  268. }
  269. }
  270. private string _Text_Remove;
  271. public string Text_Remove
  272. {
  273. get { return _Text_Remove; }
  274. set
  275. {
  276. SetProperty(ref _Text_Remove, value);
  277. }
  278. }
  279. private void InitString()
  280. {
  281. Text_Signup = App.ServiceLoader.GetString("Text_Signup");
  282. Text_Login = App.ServiceLoader.GetString("Text_Login");
  283. Text_Log = App.ServiceLoader.GetString("Text_Log");
  284. Text_Free = App.ServiceLoader.GetString("Text_Free");
  285. Text_Unregistered = App.ServiceLoader.GetString("Text_Unregistered");
  286. Text_Registered = App.ServiceLoader.GetString("Text_Registered");
  287. Text_CreatePDF = App.ServiceLoader.GetString("Text_CreatePDF");
  288. Text_CreatePDFfrom = App.ServiceLoader.GetString("Text_CreatePDFfrom");
  289. Text_CreatePDFfromscanner = App.ServiceLoader.GetString("Text_CreatePDFfromscanner");
  290. Text_ConvertPDF = App.ServiceLoader.GetString("Text_ConvertPDF");
  291. Text_ConvertPDFtoMicrosoft = App.ServiceLoader.GetString("Text_ConvertPDFtoMicrosoft");
  292. Text_TurnPDF = App.ServiceLoader.GetString("Text_TurnPDF");
  293. Text_Save = App.ServiceLoader.GetString("Text_Save");
  294. Text_Advanced = App.ServiceLoader.GetString("Text_Advanced");
  295. Text_Edit = App.ServiceLoader.GetString("Text_Edit");
  296. Text_Extract = App.ServiceLoader.GetString("Text_Extract");
  297. Text_Compress = App.ServiceLoader.GetString("Text_Compress");
  298. Text_Merge = App.ServiceLoader.GetString("Text_Merge");
  299. Text_Fill = App.ServiceLoader.GetString("Text_Fill");
  300. Text_Crop = App.ServiceLoader.GetString("Text_Crop");
  301. Text_Rotate = App.ServiceLoader.GetString("Text_Rotate");
  302. Text_Annotate = App.ServiceLoader.GetString("Text_Annotate");
  303. Text_Basic = App.ServiceLoader.GetString("Text_Basic");
  304. Text_Hyperlink = App.ServiceLoader.GetString("Text_Hyperlink");
  305. Text_Stamp = App.ServiceLoader.GetString("Text_Stamp");
  306. Text_Signature = App.ServiceLoader.GetString("Text_Signature");
  307. Text_Security = App.ServiceLoader.GetString("Text_Security");
  308. Text_Add = App.ServiceLoader.GetString("Text_Add");
  309. Text_Remove = App.ServiceLoader.GetString("Text_Remove");
  310. }
  311. #endregion
  312. private string _IAPRegionName;
  313. public string IAPRegionName
  314. {
  315. get { return _IAPRegionName; }
  316. set { _IAPRegionName = value; }
  317. }
  318. private List<User> _Items= new List<User>();
  319. public List<User> Items
  320. {
  321. get { return _Items; }
  322. set { _Items = value; }
  323. }
  324. public bool CanCloseDialog()
  325. {
  326. return true;
  327. }
  328. public void OnDialogClosed()
  329. {
  330. }
  331. public void OnDialogOpened(IDialogParameters parameters)
  332. {
  333. }
  334. public enum UseType { CreatePDF, ConvertPDF , AdvancedEditTools, AnnotatePDF, Security};
  335. public class User
  336. {
  337. public string Use { get; set; }
  338. public bool Re { get; set; }
  339. public bool UnRe { get; set; }
  340. public UseType UseType { get; set; }
  341. }
  342. public DelegateCommand GoLoginCommand { get; set; }
  343. public DelegateCommand GoRegisterCommand { get; set; }
  344. public IAPCompareDialogViewModel(IRegionManager regionManager, IDialogService dialogService)
  345. {
  346. IAPRegionName = Guid.NewGuid().ToString();
  347. GoLoginCommand = new DelegateCommand(GoLogin);
  348. GoRegisterCommand = new DelegateCommand(GoRegisterd);
  349. InitString();
  350. Items.Add(new User() { Use = Text_CreatePDFfrom, UnRe = true, Re=true, UseType = UseType.CreatePDF });
  351. Items.Add(new User() { Use = Text_CreatePDFfromscanner, UnRe = true, Re = true, UseType = UseType.CreatePDF });
  352. Items.Add(new User() { Use = Text_ConvertPDFtoMicrosoft, UnRe = false, Re = true, UseType = UseType.ConvertPDF });
  353. Items.Add(new User() { Use = Text_TurnPDF, UnRe = false, Re = true, UseType = UseType.ConvertPDF });
  354. Items.Add(new User() { Use = Text_Edit, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  355. Items.Add(new User() { Use = Text_Extract, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  356. Items.Add(new User() { Use = Text_Compress, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  357. Items.Add(new User() { Use = Text_Merge, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  358. //初版先不显示填写与签名
  359. //Items.Add(new User() { Use = Text_Fill, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  360. Items.Add(new User() { Use = Text_Crop, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  361. Items.Add(new User() { Use = Text_Rotate, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  362. Items.Add(new User() { Use = Text_Basic, UnRe = true, Re = true, UseType = UseType.AnnotatePDF });
  363. Items.Add(new User() { Use = Text_Hyperlink, UnRe = false, Re = true, UseType = UseType.AnnotatePDF });
  364. Items.Add(new User() { Use = Text_Stamp, UnRe = false, Re = true, UseType = UseType.AnnotatePDF });
  365. Items.Add(new User() { Use = Text_Signature, UnRe = false, Re = true, UseType = UseType.AnnotatePDF });
  366. Items.Add(new User() { Use = Text_Add, UnRe = false, Re = true, UseType = UseType.Security });
  367. Items.Add(new User() { Use = Text_Remove, UnRe = false, Re = true, UseType = UseType.Security });
  368. CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(Items);
  369. IAPConvert iAPConverter = new IAPConvert();
  370. PropertyGroupDescription groupDescription = new PropertyGroupDescription("UseType", iAPConverter);
  371. view.GroupDescriptions.Add(groupDescription);
  372. }
  373. private void GoRegisterd()
  374. {
  375. RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.Cancel));
  376. App.mainWindowViewModel.OpenRegister();
  377. }
  378. private void GoLogin()
  379. {
  380. RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.Cancel));
  381. App.mainWindowViewModel.OpenLogin();
  382. }
  383. }
  384. }