123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Windows;
- using vCloud.GeneratePackages.Entitys;
- using vCloud.GeneratePackages.Utilities;
- using Vinno.IUS.Common.Utilities;
- namespace vCloud.GeneratePackages.Tool.ViewModels
- {
- /// <summary>
- /// 所用语言
- /// </summary>
- public enum SupportLanguage
- {
- Chinese,
- English,
- Portuguese,
- Romanian
- }
- public class UpdatePackageInfoWindowViewModel : ViewModel
- {
- /// <summary>
- /// Package infos
- /// </summary>
- public IList<PackageInfoViewModel> PackageInfos { get; set; }
- public UpdatePackageInfoWindowViewModel()
- {
- PackageInfos = new List<PackageInfoViewModel>();
- var server = new PackageInfoViewModel() { PackageType = GeneratePackagePlatform.Server};
- server.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Chinese });
- server.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.English });
- server.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Portuguese });
- server.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Romanian });
- PackageInfos.Add(server);
- var pc = new PackageInfoViewModel() { PackageType = GeneratePackagePlatform.PC };
- pc.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Chinese });
- pc.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.English });
- pc.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Portuguese });
- pc.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Romanian });
- PackageInfos.Add(pc);
- var ad = new PackageInfoViewModel() { PackageType = GeneratePackagePlatform.Android };
- ad.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Chinese });
- ad.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.English });
- ad.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Portuguese });
- ad.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Romanian });
- PackageInfos.Add(ad);
- var sonopost = new PackageInfoViewModel() { PackageType = GeneratePackagePlatform.Sonopost };
- sonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Chinese });
- sonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.English });
- sonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Portuguese });
- sonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Romanian });
- PackageInfos.Add(sonopost);
- var winSonopost = new PackageInfoViewModel() { PackageType = GeneratePackagePlatform.WindowsSonopost };
- winSonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Chinese });
- winSonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.English });
- winSonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Portuguese });
- winSonopost.LanguageInfos.Add(new LanguageInfoViewModel() { Language = SupportLanguage.Romanian });
- PackageInfos.Add(winSonopost);
- }
- public override string ToString()
- {
- var packageinfo = string.Empty;
- foreach (var packageInfoViewModel in PackageInfos)
- {
- if (packageInfoViewModel.IsPublic)
- {
- packageinfo += packageInfoViewModel.ToString();
- }
- }
- return packageinfo;
- }
- }
- public class PackageInfoViewModel : ViewModel
- {
- private bool _isPublic;
- /// <summary>
- /// package type
- /// </summary>
- public GeneratePackagePlatform PackageType { get; set; }
- /// <summary>
- /// Language infos
- /// </summary>
- public IList<LanguageInfoViewModel> LanguageInfos { get; }
- /// <summary>
- /// is public
- /// </summary>
- public bool IsPublic
- {
- get => _isPublic;
- set
- {
- if (_isPublic != value)
- {
- _isPublic = value;
- OnPropertyChanged(() => IsPublic);
- }
- }
- }
- public PackageInfoViewModel()
- {
- LanguageInfos = new List<LanguageInfoViewModel>();
- IsPublic = true;
- }
- public override string ToString()
- {
- if (LanguageInfos.Count <= 0)
- {
- return string.Empty;
- }
- var languageInfo = string.Empty;
- foreach (var languageInfoViewModel in LanguageInfos)
- {
- languageInfo += languageInfoViewModel.ToString() + ",";
- }
- return "[" + languageInfo.TrimEnd(',') + "]";
- }
- }
- public class LanguageInfoViewModel : ViewModel
- {
- private string _text;
- /// <summary>
- /// language
- /// </summary>
- public SupportLanguage Language { get; set; }
- /// <summary>
- /// Text
- /// </summary>
- public string Text
- {
- get => _text;
- set
- {
- if (_text != value)
- {
- _text = value;
- OnPropertyChanged(() => Text);
- }
- }
- }
- public override string ToString()
- {
- return "{" + $"\"Language\":\"{Language}\",\"Content\":\"{DesBuilder.Encrypt(Text)}\"" + "}";
- }
- }
- }
|