EquipmentMaintainRecordEditVM.cs 2.63 KB
using HHECS.Application.Enums;
using HHECS.Infrastructure.CommonHelper;
using HHECS.Model.Entities;
using HHECS.WinCommon.ViewModel;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Windows;
using MessageBox = HandyControl.Controls.MessageBox;

namespace HHECS.WinClient.View.EquipmentInfo
{
    public class EquipmentMaintainRecordEditVM : VMBase
    {
        public EquipmentMaintainRecord EquipmentMaintainRecord { get; set; }

        public string Title { get; set; } = "更新";

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

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

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

        public EquipmentMaintainRecordEditVM(int id)
        {
            MaintainStatuses = EnumHelper.EnumListDic<EquipmentMaintainStatus>();

            var result = App.EquipmentService.GetEquipmentMaintainRecords(a => a.Id == id);
            if (result.Success)
            {
                EquipmentMaintainRecord = result.Data[0];
            }
            else
            {
                MessageBox.Show($"查询维护记录失败:{result.Msg}");
            }
        }

        public void Save()
        {
            if (EquipmentMaintainRecord.CreateTime == null)
            {
                EquipmentMaintainRecord.CreateTime = DateTime.Now;
                EquipmentMaintainRecord.CreateBy = App.User.UserCode;
            }
            EquipmentMaintainRecord.UpdateTime = DateTime.Now;
            EquipmentMaintainRecord.UpdateBy = App.User.UserCode;
            var result = App.EquipmentService.SaveEquipmentMaintainRecord(EquipmentMaintainRecord);
            if (result.Success)
            {
                App.LogService.LogOperation(Application.Enums.Title.MaintainRecordHandle, ModuleConst.MaintainRecord, $"维护记录保存成功.数据:{JsonConvert.SerializeObject(new { Id = EquipmentMaintainRecord.Id, EquipmentName = EquipmentMaintainRecord.Equipment?.Name, Status = EquipmentMaintainRecord.Status })}", result.Code.ToString(), App.User.UserCode);
                MessageBox.Show("保存成功");
            }
            else
            {
                App.LogService.LogOperation(Application.Enums.Title.MaintainRecordHandle, ModuleConst.MaintainRecord, $"维护记录保存失败.数据:{JsonConvert.SerializeObject(new { Id = EquipmentMaintainRecord.Id, EquipmentName = EquipmentMaintainRecord.Equipment?.Name, Status = EquipmentMaintainRecord.Status })},详情:{result.Msg}", result.Code.ToString(), App.User.UserCode);
                MessageBox.Error($"保存失败:{result.Msg}");
            }
        }
    }
}