ErrorHandleGuideAddOrEditVM.cs 2.91 KB
using HHECS.Application.Enums;
using HHECS.Application.Error;
using HHECS.Infrastructure.CommonHelper;
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 System.Windows;
using MessageBox = HandyControl.Controls.MessageBox;

namespace HHECS.WinClient.View.ErrorHandleGuideInfo
{
    public class ErrorHandleGuideAddOrEditVM : VMBase
    {
        public ErrorCode ErrorCode { get; set; }

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

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

        public Visibility Visibility { get; set; } = Visibility.Hidden;

        public Dictionary<string,object> Modules { get; set; }

        public Dictionary<string,object> Levels { get; set; }

        public ErrorHandleGuideAddOrEditVM(int id)
        {
            Modules = EnumHelper.EnumListDic<ModuleConst>();

            Levels = EnumHelper.EnumListDic<ErrorCodeLevel>();

            if (id == 0)
            {
                this.Title = "新增";
                ErrorCode = new ErrorCode();
                Visibility = Visibility.Visible;
            }
            else
            {
                this.Title = "更新";
                var bllResult = App.ErrorCodeService.GetErrorCodes(t => t.Id == id);
                if (bllResult.Success && bllResult.Data.Count > 0)
                {
                    ErrorCode = bllResult.Data[0];
                }
                else
                {
                    MessageBox.Show("未查询到指定异常指引数据");
                    Enable = false;
                }
            }
        }

        public void Save()
        {
            var title = ErrorCode.Id == 0 ? Application.Enums.Title.ErrorGuideAdd : Application.Enums.Title.ErrorGuideEdit;
            var a = new
            {
                Code = ErrorCode.Code,
                Module = ErrorCode.Module,
                Level = ErrorCode.Level,
                Description = ErrorCode.Description,
                Sulotion = ErrorCode.Sulotion,
            };
            var result = App.ErrorCodeService.SaveErrorCode(ErrorCode);
            if (result.Success)
            {
                App.LogService.LogOperation(title, ModuleConst.ErrorHandleGuide, $"异常指引保存成功.数据:{JsonConvert.SerializeObject(a)}", result.Code.ToString(), App.User.UserCode);
                MessageBox.Show("保存成功");
            }
            else
            {
                App.LogService.LogOperation(title, ModuleConst.ErrorHandleGuide, $"异常指引保存失败.数据:{JsonConvert.SerializeObject(a)},详情:{result.Msg}", result.Code.ToString(), App.User.UserCode);
                MessageBox.Error($"保存失败:{result.Msg}");
            }
        }

        public void Clear()
        {
            ErrorCode = new ErrorCode();
        }
    }
}