5e64209b76
Chore: Fixed some Form_Load function names as they were copied from old forms and were not neat. Feature: Management BI Improved and should be pretty much solid by now.
96 lines
2.7 KiB
C#
96 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Tanshu.Accounts.Helpers;
|
|
using System.Threading;
|
|
using Tanshu.Accounts.Repository;
|
|
using Tanshu.Accounts.Entities.Auth;
|
|
|
|
namespace Tanshu.Accounts.PointOfSale
|
|
{
|
|
public partial class AssignUserGroups : Form
|
|
{
|
|
public AssignUserGroups()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void AssignUserGroups_Load(object sender, EventArgs e)
|
|
{
|
|
FillUsers();
|
|
}
|
|
|
|
private void FillUsers()
|
|
{
|
|
cmbUser.DisplayMember = "Name";
|
|
cmbUser.ValueMember = "UserID";
|
|
using (var bi = new UserBI())
|
|
cmbUser.DataSource = bi.List();
|
|
}
|
|
|
|
private void cmbUsers_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (cmbUser.SelectedValue == null)
|
|
GetGroups(null);
|
|
else
|
|
GetGroups((Guid)cmbUser.SelectedValue);
|
|
}
|
|
|
|
private void GetGroups(Guid? userID)
|
|
{
|
|
using (var bi = new UserBI())
|
|
{
|
|
var groups = bi.GroupList();
|
|
clbGroups.DataSource = groups;
|
|
for (int i = 0; i < clbGroups.Items.Count; i++)
|
|
{
|
|
clbGroups.SetItemChecked(i, false);
|
|
}
|
|
if (userID.HasValue)
|
|
{
|
|
var user = bi.Get(x => x.UserID == userID.Value);
|
|
for (int i = 0; i < clbGroups.Items.Count; i++)
|
|
{
|
|
var item = (Group)clbGroups.Items[i];
|
|
if (item.UserGroups.Any(x => x.User == user))
|
|
{
|
|
clbGroups.SetItemChecked(i, true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
private void btnOk_Click(object sender, EventArgs e)
|
|
{
|
|
if (cmbUser.SelectedValue != null)
|
|
Save((Guid)cmbUser.SelectedValue);
|
|
}
|
|
|
|
private void Save(Guid userID)
|
|
{
|
|
using (var bi = new UserBI())
|
|
{
|
|
var user = bi.Get(x => x.UserID == userID);
|
|
bi.Update(user, clbGroups.CheckedItems.OfType<Group>());
|
|
bi.SaveChanges();
|
|
}
|
|
MessageBox.Show("Update / Save Successful");
|
|
}
|
|
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void clbGroups_Format(object sender, ListControlConvertEventArgs e)
|
|
{
|
|
e.Value = ((Group)e.ListItem).Name;
|
|
}
|
|
}
|
|
}
|