IAPCompareDialogViewModel.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  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_Advanced;
  136. public string Text_Advanced
  137. {
  138. get { return _Text_Advanced; }
  139. set
  140. {
  141. SetProperty(ref _Text_Advanced, value);
  142. }
  143. }
  144. private string _Text_Compress;
  145. public string Text_Compress
  146. {
  147. get { return _Text_Compress; }
  148. set
  149. {
  150. SetProperty(ref _Text_Compress, value);
  151. }
  152. }
  153. private string _Text_Merge;
  154. public string Text_Merge
  155. {
  156. get { return _Text_Merge; }
  157. set
  158. {
  159. SetProperty(ref _Text_Merge, value);
  160. }
  161. }
  162. private string _Text_Fill;
  163. public string Text_Fill
  164. {
  165. get { return _Text_Fill; }
  166. set
  167. {
  168. SetProperty(ref _Text_Fill, value);
  169. }
  170. }
  171. private string _Text_Crop;
  172. public string Text_Crop
  173. {
  174. get { return _Text_Crop; }
  175. set
  176. {
  177. SetProperty(ref _Text_Crop, value);
  178. }
  179. }
  180. private string _Text_Rotate;
  181. public string Text_Rotate
  182. {
  183. get { return _Text_Rotate; }
  184. set
  185. {
  186. SetProperty(ref _Text_Rotate, value);
  187. }
  188. }
  189. private string _Text_Annotate;
  190. public string Text_Annotate
  191. {
  192. get { return _Text_Annotate; }
  193. set
  194. {
  195. SetProperty(ref _Text_Annotate, value);
  196. }
  197. }
  198. private string _Text_Basic;
  199. public string Text_Basic
  200. {
  201. get { return _Text_Basic; }
  202. set
  203. {
  204. SetProperty(ref _Text_Basic, value);
  205. }
  206. }
  207. private string _Text_Hyperlink;
  208. public string Text_Hyperlink
  209. {
  210. get { return _Text_Hyperlink; }
  211. set
  212. {
  213. SetProperty(ref _Text_Hyperlink, value);
  214. }
  215. }
  216. private string _Text_Stamp;
  217. public string Text_Stamp
  218. {
  219. get { return _Text_Stamp; }
  220. set
  221. {
  222. SetProperty(ref _Text_Stamp, value);
  223. }
  224. }
  225. private string _Text_Signature;
  226. public string Text_Signature
  227. {
  228. get { return _Text_Signature; }
  229. set
  230. {
  231. SetProperty(ref _Text_Signature, value);
  232. }
  233. }
  234. private string _Text_Security;
  235. public string Text_Security
  236. {
  237. get { return _Text_Security; }
  238. set
  239. {
  240. SetProperty(ref _Text_Security, value);
  241. }
  242. }
  243. private string _Text_Add;
  244. public string Text_Add
  245. {
  246. get { return _Text_Add; }
  247. set
  248. {
  249. SetProperty(ref _Text_Add, value);
  250. }
  251. }
  252. private string _Text_Remove;
  253. public string Text_Remove
  254. {
  255. get { return _Text_Remove; }
  256. set
  257. {
  258. SetProperty(ref _Text_Remove, value);
  259. }
  260. }
  261. private void InitString()
  262. {
  263. Text_Signup = App.ServiceLoader.GetString("Text_Signup");
  264. Text_Login = App.ServiceLoader.GetString("Text_Login");
  265. Text_Log = App.ServiceLoader.GetString("Text_Log");
  266. Text_Free = App.ServiceLoader.GetString("Text_Free");
  267. Text_Unregistered = App.ServiceLoader.GetString("Text_Unregistered");
  268. Text_Registered = App.ServiceLoader.GetString("Text_Registered");
  269. Text_CreatePDF = App.ServiceLoader.GetString("Text_CreatePDF");
  270. Text_CreatePDFfrom = App.ServiceLoader.GetString("Text_CreatePDFfrom");
  271. Text_CreatePDFfromscanner = App.ServiceLoader.GetString("Text_CreatePDFfromscanner");
  272. Text_ConvertPDF = App.ServiceLoader.GetString("Text_ConvertPDF");
  273. Text_ConvertPDFtoMicrosoft = App.ServiceLoader.GetString("Text_ConvertPDFtoMicrosoft");
  274. Text_TurnPDF = App.ServiceLoader.GetString("Text_TurnPDF");
  275. Text_Save = App.ServiceLoader.GetString("Text_Save");
  276. Text_Advanced = App.ServiceLoader.GetString("Text_Advanced");
  277. Text_Compress = App.ServiceLoader.GetString("Text_Compress");
  278. Text_Merge = App.ServiceLoader.GetString("Text_Merge");
  279. Text_Fill = App.ServiceLoader.GetString("Text_Fill");
  280. Text_Crop = App.ServiceLoader.GetString("Text_Crop");
  281. Text_Rotate = App.ServiceLoader.GetString("Text_Rotate");
  282. Text_Annotate = App.ServiceLoader.GetString("Text_Annotate");
  283. Text_Basic = App.ServiceLoader.GetString("Text_Basic");
  284. Text_Hyperlink = App.ServiceLoader.GetString("Text_Hyperlink");
  285. Text_Stamp = App.ServiceLoader.GetString("Text_Stamp");
  286. Text_Signature = App.ServiceLoader.GetString("Text_Signature");
  287. Text_Security = App.ServiceLoader.GetString("Text_Security");
  288. Text_Add = App.ServiceLoader.GetString("Text_Add");
  289. Text_Remove = App.ServiceLoader.GetString("Text_Remove");
  290. }
  291. #endregion
  292. private string _IAPRegionName;
  293. public string IAPRegionName
  294. {
  295. get { return _IAPRegionName; }
  296. set { _IAPRegionName = value; }
  297. }
  298. private List<User> _Items= new List<User>();
  299. public List<User> Items
  300. {
  301. get { return _Items; }
  302. set { _Items = value; }
  303. }
  304. public bool CanCloseDialog()
  305. {
  306. return true;
  307. }
  308. public void OnDialogClosed()
  309. {
  310. }
  311. public void OnDialogOpened(IDialogParameters parameters)
  312. {
  313. }
  314. public enum UseType { CreatePDF, ConvertPDF , AdvancedEditTools, AnnotatePDF, Security};
  315. public class User
  316. {
  317. public string Use { get; set; }
  318. public bool Re { get; set; }
  319. public bool UnRe { get; set; }
  320. public UseType UseType { get; set; }
  321. }
  322. public DelegateCommand GoLoginCommand { get; set; }
  323. public DelegateCommand GoRegisterCommand { get; set; }
  324. public IAPCompareDialogViewModel(IRegionManager regionManager, IDialogService dialogService)
  325. {
  326. IAPRegionName = Guid.NewGuid().ToString();
  327. GoLoginCommand = new DelegateCommand(GoLogin);
  328. GoRegisterCommand = new DelegateCommand(GoRegisterd);
  329. InitString();
  330. Items.Add(new User() { Use = Text_CreatePDFfrom, UnRe = true, Re=true, UseType = UseType.CreatePDF });
  331. Items.Add(new User() { Use = Text_CreatePDFfromscanner, UnRe = true, Re = true, UseType = UseType.CreatePDF });
  332. Items.Add(new User() { Use = Text_ConvertPDFtoMicrosoft, UnRe = false, Re = true, UseType = UseType.ConvertPDF });
  333. Items.Add(new User() { Use = Text_TurnPDF, UnRe = false, Re = true, UseType = UseType.ConvertPDF });
  334. Items.Add(new User() { Use = Text_Compress, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  335. Items.Add(new User() { Use = Text_Merge, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  336. Items.Add(new User() { Use = Text_Fill, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  337. Items.Add(new User() { Use = Text_Crop, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  338. Items.Add(new User() { Use = Text_Rotate, UnRe = false, Re = true, UseType = UseType.AdvancedEditTools });
  339. Items.Add(new User() { Use = Text_Basic, UnRe = true, Re = true, UseType = UseType.AnnotatePDF });
  340. Items.Add(new User() { Use = Text_Hyperlink, UnRe = false, Re = true, UseType = UseType.AnnotatePDF });
  341. Items.Add(new User() { Use = Text_Stamp, UnRe = false, Re = true, UseType = UseType.AnnotatePDF });
  342. Items.Add(new User() { Use = Text_Signature, UnRe = false, Re = true, UseType = UseType.AnnotatePDF });
  343. Items.Add(new User() { Use = Text_Add, UnRe = false, Re = true, UseType = UseType.Security });
  344. Items.Add(new User() { Use = Text_Remove, UnRe = false, Re = true, UseType = UseType.Security });
  345. CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(Items);
  346. IAPConvert iAPConverter = new IAPConvert();
  347. PropertyGroupDescription groupDescription = new PropertyGroupDescription("UseType", iAPConverter);
  348. view.GroupDescriptions.Add(groupDescription);
  349. }
  350. private void GoRegisterd()
  351. {
  352. RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.Cancel));
  353. App.mainWindowViewModel.OpenRegister();
  354. }
  355. private void GoLogin()
  356. {
  357. RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.Cancel));
  358. App.mainWindowViewModel.OpenLogin();
  359. }
  360. }
  361. }