ConfigAddOrEditVM.cs 2.41 KB
using HandyControl.Controls;
using HHECS.Application.Enums;
using HHECS.BllModel;
using HHECS.Model.Entities;
using HHECS.WinCommon.ViewModel;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MessageBox = HandyControl.Controls.MessageBox;

namespace HHECS.WinClient.View.SystemInfo
{
    public class ConfigAddOrEditVM : VMBase
    {
        public Config Config { get; set; }

        public string Title { get; set; } = "test";

        public bool Enable { get; set; } = true;

        public ConfigAddOrEditVM(int id)
        {
            if (id == 0)
            {
                this.Title = "新增";
                Config = new Config();
            }
            else
            {
                this.Title = "更新";
                BllResult<Config> bllResult = App.SystemService.GetConfigById(id);
                if (bllResult.Success)
                {
                    Config = bllResult.Data;
                }
                else
                {
                    MessageBox.Show("未查询到指定配置");
                    Enable = false;
                }
            }
        }

        public void Save()
        {
            if(Config.Created == null)
            {
                Config.Created = DateTime.Now;
                Config.CreatedBy = App.User.UserCode;
            }
            Config.Updated = DateTime.Now;
            Config.UpdatedBy = App.User.UserCode;
            var title = Config.Id == 0 ? Application.Enums.Title.ConfigAdd : Application.Enums.Title.ConfigEdit;
            var a = new
            {
                Code = Config.Code,
                Name = Config.Name,
                Value = Config.Value,
            };
            var result = App.SystemService.SaveConfig(Config);
            if(result.Success)
            {
                App.LogService.LogOperation(title, ModuleConst.Config, $"配置保存成功.数据:{JsonConvert.SerializeObject(a)}", result.Code.ToString(), App.User.UserCode);
                MessageBox.Show("保存成功");
            }
            else
            {
                App.LogService.LogOperation(title, ModuleConst.Config, $"配置保存失败.数据:{JsonConvert.SerializeObject(a)},详情:{result.Msg}", result.Code.ToString(), App.User.UserCode);
                MessageBox.Error($"保存失败:{result.Msg}");
            }
        }
    }
}