using SparkClient.Model.Helper; namespace SparkClient.ViewModel.Configuration.SettingsPages; public class ModelColorSetPageVM : BaseViewModel { private string _FACET_COLOR; private string _BORDER_COLOR; private string _SELECTED_FACET_COLOR; private string _SELECTED_BORDER_COLOR; private string _SELECTED_TYPE_COLOR; private string _SELECTED_FONT_COLOR; private string _RULER_COLOR; private string _ARROW_COLOR; private string _BLEMISH_FACET_COLOR; private string _TABLE_FACET_COLOR; private string _UPPER_MAIN_FACET_COLOR; private string _STAR_FACET_COLOR; private string _UPPER_GIRDLE_FACET_COLOR; private string _GIRDLE_FACET_COLOR; private string _PAVILION_MAIN_FACET_COLOR; private string _LOWER_GIRDLE_FACET_COLOR; private string _CULET_COLOR; public string FACET_COLOR { get { return _FACET_COLOR; } set { _FACET_COLOR = value; OnPropertyChanged(nameof(FACET_COLOR)); } } public string BORDER_COLOR { get { return _BORDER_COLOR; } set { _BORDER_COLOR = value; OnPropertyChanged(nameof(BORDER_COLOR)); } } public string SELECTED_FACET_COLOR { get { return _SELECTED_FACET_COLOR; } set { _SELECTED_FACET_COLOR = value; OnPropertyChanged(nameof(SELECTED_FACET_COLOR)); } } public string SELECTED_BORDER_COLOR { get { return _SELECTED_BORDER_COLOR; } set { _SELECTED_BORDER_COLOR = value; OnPropertyChanged(nameof(SELECTED_BORDER_COLOR)); } } public string SELECTED_TYPE_COLOR { get { return _SELECTED_TYPE_COLOR; } set { _SELECTED_TYPE_COLOR = value; OnPropertyChanged(nameof(SELECTED_TYPE_COLOR)); } } public string SELECTED_FONT_COLOR { get { return _SELECTED_FONT_COLOR; } set { _SELECTED_FONT_COLOR = value; OnPropertyChanged(nameof(SELECTED_FONT_COLOR)); } } public string RULER_COLOR { get { return _RULER_COLOR; } set { _RULER_COLOR = value; OnPropertyChanged(nameof(RULER_COLOR)); } } public string ARROW_COLOR { get { return _ARROW_COLOR; } set { _ARROW_COLOR = value; OnPropertyChanged(nameof(ARROW_COLOR)); } } public string BLEMISH_FACET_COLOR { get { return _BLEMISH_FACET_COLOR; } set { _BLEMISH_FACET_COLOR = value; OnPropertyChanged(nameof(BLEMISH_FACET_COLOR)); } } public string TABLE_FACET_COLOR { get { return _TABLE_FACET_COLOR; } set { _TABLE_FACET_COLOR = value; OnPropertyChanged(nameof(TABLE_FACET_COLOR)); } } public string UPPER_MAIN_FACET_COLOR { get { return _UPPER_MAIN_FACET_COLOR; } set { _UPPER_MAIN_FACET_COLOR = value; OnPropertyChanged(nameof(UPPER_MAIN_FACET_COLOR)); } } public string STAR_FACET_COLOR { get { return _STAR_FACET_COLOR; } set { _STAR_FACET_COLOR = value; OnPropertyChanged(nameof(STAR_FACET_COLOR)); } } public string UPPER_GIRDLE_FACET_COLOR { get { return _UPPER_GIRDLE_FACET_COLOR; } set { _UPPER_GIRDLE_FACET_COLOR = value; OnPropertyChanged(nameof(UPPER_GIRDLE_FACET_COLOR)); } } public string GIRDLE_FACET_COLOR { get { return _GIRDLE_FACET_COLOR; } set { _GIRDLE_FACET_COLOR = value; OnPropertyChanged(nameof(GIRDLE_FACET_COLOR)); } } public string PAVILION_MAIN_FACET_COLOR { get { return _PAVILION_MAIN_FACET_COLOR; } set { _PAVILION_MAIN_FACET_COLOR = value; OnPropertyChanged(nameof(PAVILION_MAIN_FACET_COLOR)); } } public string LOWER_GIRDLE_FACET_COLOR { get { return _LOWER_GIRDLE_FACET_COLOR; } set { _LOWER_GIRDLE_FACET_COLOR = value; OnPropertyChanged(nameof(LOWER_GIRDLE_FACET_COLOR)); } } public string CULET_COLOR { get { return _CULET_COLOR; } set { _CULET_COLOR = value; OnPropertyChanged(nameof(CULET_COLOR)); } } private Dictionary colors; public ModelColorSetPageVM() { InitSetting(); } private void InitSetting() { colors = new Dictionary(); colors.Add("FACET_COLOR", "面部颜色"); colors.Add("BORDER_COLOR", "边框颜色"); colors.Add("SELECTED_FACET_COLOR", "选中面颜色"); colors.Add("SELECTED_BORDER_COLOR", "选中面边框颜色"); colors.Add("SELECTED_TYPE_COLOR", "选中面同类面颜色"); colors.Add("SELECTED_FONT_COLOR", "选中面文字信息颜色"); colors.Add("RULER_COLOR", "标识线条颜色"); colors.Add("ARROW_COLOR", "正方向标记颜色"); colors.Add("BLEMISH_FACET_COLOR", "瑕疵面颜色"); colors.Add("TABLE_FACET_COLOR", "台面颜色"); colors.Add("UPPER_MAIN_FACET_COLOR", "风筝面颜色"); colors.Add("STAR_FACET_COLOR", "星刻面颜色"); colors.Add("UPPER_GIRDLE_FACET_COLOR", "上腰面颜色"); colors.Add("GIRDLE_FACET_COLOR", "腰面颜色"); colors.Add("PAVILION_MAIN_FACET_COLOR", "亭部主刻面颜色"); colors.Add("LOWER_GIRDLE_FACET_COLOR", "下腰面颜色"); colors.Add("CULET_COLOR", "底面颜色"); foreach (var color in colors) { setColor(color.Key); } } public bool SaveUpdate(object param) { DataBaseHelper.BeginTransaction(); foreach(var color in colors) { updateDataBase(color.Key); } DataBaseHelper.commit(); return true; } private void updateDataBase(string SETTING_ID) { Type type = this.GetType(); Settings colorData = new Settings() { Key = SETTING_ID, ItemName = colors[SETTING_ID], Value = (string)type.GetProperty(SETTING_ID).GetValue(this), }; colorData.insert(); } private void setColor(string SETTING_ID) { var value = Settings.SelectValueByName(SETTING_ID); if (value == null || string.IsNullOrEmpty(value)) { value = "#FF000000"; } Type type = this.GetType(); type.GetProperty(SETTING_ID).SetValue(this, value); } }