using 智能仓储WCS管理系统.ViewModel;
using HandyControl.Controls;
using HandyControl.Tools.Extension;
using Ping9719.WpfEx.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using MessageBox = HandyControl.Controls.MessageBox;
using Window = System.Windows.Window;
using WCS.Model.ApiModel;
using WCS.Model.ApiModel.User;
using 智能仓储WCS管理系统.Api;
using WCS.Model;
namespace 智能仓储WCS管理系统
{
///
/// 角色信息
///
public partial class RoleEditView : Window
{
public RoleEditView()
{
InitializeComponent();
}
///
///
///
/// true:成功,false:取消
public static bool Show(RoleModel roleBase, CrudEnum crudEnum)
{
bool isOk = false;
Application.Current.Dispatcher.Invoke(new Action(() =>
{
var view = new RoleEditView();
List dataList = new List();
try
{
if (crudEnum == CrudEnum.Read)
view.qr.IsEnabled = false;
view.textBox.Text = roleBase.Name;
dataList = RoleEditTreeViewModel.GetTreeViewModel(roleBase.Auths);
view.treeView.ItemsSource = dataList;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
view = null;
return;
}
view.qr.Click += (s, e) =>
{
try
{
var treeNode = dataList.ToTreeNode();
RoleModel newRole = new RoleModel()
{
Id = roleBase.Id,
IsAdmin = roleBase.IsAdmin,
Name = view.textBox.Text.Trim(),
Auths = treeNode.Where(o => o.IsSelect).Select(o => (int)o.Id).ToList(),
Time = roleBase.Time,
};
if (crudEnum == CrudEnum.Update)
{
if (string.IsNullOrEmpty(newRole.Name))
{
MessageBox.Show("请输入名称");
return;
}
try
{
var body = new AddRoleRequest()
{
UserName = LocalStatic.CurrentUser,
DeviceType = LocalFile.Config.DeviceType,
Role = newRole,
AddOrUpdate = AddOrUpdate.Update
};
var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "user/addRole", body, "POST");
if (Result != null && Result.Code == 200)
{
isOk = true;
view.Close();
}
else
{
Growl.Error(Result?.Message);
}
}
catch (Exception ex)
{
Growl.Error("修改角色失败:" + ex.Message);
}
}
else if (crudEnum == CrudEnum.Create)
{
newRole.Id = 0;
newRole.Time = DateTime.Now;
if (string.IsNullOrEmpty(newRole.Name))
{
MessageBox.Show("请输入名称");
return;
}
try
{
var body = new AddRoleRequest()
{
UserName = LocalStatic.CurrentUser,
DeviceType = LocalFile.Config.DeviceType,
Role = newRole,
AddOrUpdate = AddOrUpdate.Add,
};
var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "user/addRole", body, "POST");
if (Result != null && Result.Code == 200)
{
isOk = true;
view.Close();
}
else
{
Growl.Error(Result?.Message);
}
}
catch (Exception ex)
{
Growl.Error("新增角色失败:" + ex.Message);
}
}
else
{
MessageBox.Show("不支持此操作");
return;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}
//isOk = true;
//view.Close();
};
view.ShowDialog();
view = null;
}));
return isOk;
}
private void qx(object sender, RoutedEventArgs e)
{
this.Close();
}
}
}