You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CaiQie/RfidWeb/Frm/FormAccount.cs

165 lines
4.9 KiB
C#

using HZH_Controls.Controls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Windows.Forms;
using DB.Dto;
using DB.Service;
using HZH_Controls.Forms;
namespace RfidWeb.Frm
{
public partial class FormAccount : UserControl
{
private UserService userService = new UserService();
private UserDto OlduserDto;
public FormAccount()
{
InitializeComponent();
OlduserDto= UserManager.GetUser();
Init();
}
private void Init()
{
List<DataGridViewColumnEntity> lstCulumns = new List<DataGridViewColumnEntity>
{
new DataGridViewColumnEntity() { DataField = "Id", HeadText = "编号", Width = 100, WidthType = SizeType.Absolute },
new DataGridViewColumnEntity() { DataField = "UserName", HeadText = "姓名", Width = 50, WidthType = SizeType.Percent },
new DataGridViewColumnEntity() { DataField = "RoleName", HeadText = "权限名称", Width = 50, WidthType = SizeType.Percent }
};
this.ucDataGridViewContent.Columns = lstCulumns;
this.ucDataGridViewContent.IsShowCheckBox = true;
ucPagerControl21.PageModel = PageModel.PageCount;
ucPagerControl21.PageIndex = 1;
ucPagerControl21.PageSize = 20;
}
private void ucPagerControl21_ShowSourceChanged(object currentSource)
{
string key = this.textBoxSel.Text.Trim();
var index = ucPagerControl21.PageIndex;
List<int> lsInts = new List<int>();
if (OlduserDto != null)
{
switch (OlduserDto.RoleLevel)
{
case 1:
lsInts.AddRange(new[] { 1, 2, 3 });
break;
case 2:
lsInts.AddRange(new[] { 2, 3 });
break;
case 3:
lsInts.Add(3);
break;
}
}
var page = userService.GetPagedList(index, ucPagerControl21.PageSize, key,lsInts);
ucPagerControl21.PageCount = page.TotalPages;
this.ucDataGridViewContent.DataSource = page.Items;
var dataGridViewRows = ucDataGridViewContent.SelectRows;
foreach (var row in dataGridViewRows)
{
if (row.IsChecked)
{
row.IsChecked = false;
}
}
}
private void ucBtnSelect_BtnClick(object sender, EventArgs e)
{
Replace();
}
private void ucBtnAdd_BtnClick(object sender, EventArgs e)
{
var user = UserManager.GetUser();
if (user != null)
{
FormRegister formRegis = new FormRegister(user);
formRegis.StartPosition = FormStartPosition.CenterScreen; // 设置窗口显示在屏幕中央
formRegis.ShowDialog();
}
else
{
FormLogin fromLogin=new FormLogin();
fromLogin.ShowDialog();
}
}
private void ucBtnDel_BtnClick(object sender, EventArgs e)
{
var dataGridViewRows = ucDataGridViewContent.SelectRows;
if (dataGridViewRows.Count == 0)
{
FrmDialog.ShowDialog(this, "请勾选相关信息", "警告窗体");
return;
}
List<long> ls = new List<long>();
foreach (var dr in dataGridViewRows)
{
if (dr.DataSource is UserDto dto)
{
ls.Add(dto.Id);
}
}
if (ls.Any())
{
userService.UpdateDel(ls);
Replace();
}
}
private void ucBtnUpdate_BtnClick(object sender, EventArgs e)
{
var dataGridViewRows = ucDataGridViewContent.SelectRows;
if (dataGridViewRows.Count!=1)
{
FrmDialog.ShowDialog(this, "只能修改一条", "警告窗体");
return;
}
var dto = dataGridViewRows.First().DataSource as UserDto;
FormRegister formRegis = new FormRegister(dto.Id, OlduserDto);
formRegis.StartPosition = FormStartPosition.CenterScreen; // 设置窗口显示在屏幕中央
formRegis.ShowDialog();
Replace();
}
private void Replace()
{
ucPagerControl21.PageIndex = 1;
ucPagerControl21_ShowSourceChanged(new object());
}
}
}