ChatGPTAITranslationContentViewModel.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using Microsoft.Win32;
  2. using PDF_Master.Helper;
  3. using Prism.Commands;
  4. using Prism.Mvvm;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.IO;
  8. using System.Linq;
  9. namespace PDF_Master.ViewModels.HomePanel.ChatGPTAI
  10. {
  11. public class ChatGPTAITranslationContentViewModel : BindableBase
  12. {
  13. private string fromlanguage = ChatGTPAIHelper.UpdateLanguagebType(0);
  14. private string tolanguage = ChatGTPAIHelper.UpdateLanguagebType(1);
  15. private int fromlanguageIndex = 0;
  16. public int FromlanguageIndex
  17. {
  18. get { return fromlanguageIndex; }
  19. set
  20. {
  21. SetProperty(ref fromlanguageIndex, value);
  22. fromlanguage = ChatGTPAIHelper.UpdateLanguagebType(value);
  23. }
  24. }
  25. private int tolanguageIndex = 0;
  26. public int TolanguageIndex
  27. {
  28. get { return tolanguageIndex; }
  29. set
  30. {
  31. SetProperty(ref tolanguageIndex, value);
  32. tolanguage = ChatGTPAIHelper.UpdateLanguagebType(value + 1);
  33. }
  34. }
  35. public static List<string> FromlanguageFamily { set; get; } = new List<string>();
  36. private void GetFromlanguageOrigin()
  37. {
  38. FromlanguageFamily.Clear();
  39. FromlanguageFamily = ChatGTPAIHelper.SetFromlanguageOrigin();
  40. }
  41. public List<string> TolanguageFamily { set; get; } = new List<string>();
  42. private void GetTolanguageOrigin()
  43. {
  44. TolanguageFamily.Clear();
  45. TolanguageFamily = ChatGTPAIHelper.SetTolanguageOrigin();
  46. }
  47. public DelegateCommand SelectFilesCommand { get; set; }
  48. public ChatGPTAITranslationContentViewModel()
  49. {
  50. SelectFilesCommand = new DelegateCommand(selectFiles);
  51. init();
  52. }
  53. private void init()
  54. {
  55. GetFromlanguageOrigin();
  56. GetTolanguageOrigin();
  57. }
  58. public async void selectFiles() {
  59. string word = Properties.Resources.wordex;
  60. string pdf= Properties.Resources.pdf;
  61. string allfiles = pdf+ word;
  62. OpenFileDialog dialog = new OpenFileDialog();
  63. //dialog.Multiselect = true;
  64. dialog.Filter = string.Format($"Files({allfiles.Replace(";", ",")}|{allfiles})|" +
  65. $"Pdf({pdf})|{pdf}|" +
  66. $"Microsoft Office Word({word})|{word}");
  67. if ((bool)dialog.ShowDialog())
  68. {
  69. await ChatGTPAIHelper.fileTranslate( dialog.FileName , fromlanguage, tolanguage);
  70. }
  71. }
  72. }
  73. }