UserVM.cs 3.14 KB
using HHECS.Application.Enums;
using HHECS.BllModel;
using HHECS.Model.Dtos;
using HHECS.Model.Entities;
using HHECS.WinCommon.ViewModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using MessageBox = HandyControl.Controls.MessageBox;

namespace HHECS.WinClient.View.UserPermission
{
    public class UserVM : VMBase
    {
        public PageInfo PageInfo { get; set; } = new PageInfo();

        public string UserCode { get; set; }

        public string UserName { get; set; }

        public List<User> Users { get; set; }

        public User SelectedUser { get; set; }

        public void Add()
        {
            WinUserAddOrEdit user = new WinUserAddOrEdit("");
            user.ShowDialog();
            Query();
        }

        public void Query()
        {
            Expression<Func<User, bool>> filter = a => true;
            if (!String.IsNullOrWhiteSpace(UserCode))
            {
                filter = filter.And(a => a.UserCode.Contains(UserCode));
            }
            if (!String.IsNullOrWhiteSpace(UserName))
            {
                filter = filter.And(a => a.UserName.Contains(UserName));
            }
            var result = App.PermissionService.GetUsers(filter, PageInfo.PageIndex, PageInfo.PageSize, out long totalCount);
            if (result.Success)
            {
                PageInfo.TotalCount = totalCount;
                Users = result.Data;
            }
            else
            {
                MessageBox.Show($"查询失败:{result.Msg}");
            }
        }

        public void Edit()
        {
            if (SelectedUser != null)
            {
                WinUserAddOrEdit user = new WinUserAddOrEdit(SelectedUser.UserCode);
                user.ShowDialog();
                Query();
            }
            else
            {
                MessageBox.Show("未选中数据");
            }
        }

        public void Delete()
        {
            if (SelectedUser != null)
            {
                if (MessageBox.Show("确认删除?", "注意", System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
                {
                    BllResult result = App.PermissionService.DeleteUserById(SelectedUser.Id);
                    if (result.Success)
                    {
                        App.LogService.LogOperation(Title.UserDelete, ModuleConst.User, $"用户{SelectedUser.UserCode}删除成功.", result.Code.ToString(), App.User.UserCode);
                        MessageBox.Show("删除成功");
                    }
                    else
                    {
                        App.LogService.LogOperation(Title.UserDelete, ModuleConst.User, $"用户{SelectedUser.UserCode}删除失败.详情:{result.Msg}", result.Code.ToString(), App.User.UserCode);
                        MessageBox.Show($"删除失败:{result.Msg}");
                    }
                    Query();
                }
            }
            else
            {
                MessageBox.Show("未选中数据");
            }
        }

    }
}