Files
App/OwnChar.App.Desktop/UI/MainTabs/Controls/GroupListControl.cs
2024-06-30 13:51:25 +02:00

104 lines
2.4 KiB
C#

using OwnChar.App.Desktop.Api;
using OwnChar.App.Desktop.LangRes;
using OwnChar.Manager;
using Pilz.UI;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Telerik.WinControls.UI;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace OwnChar.App.Desktop.UI.MainTabs.Controls;
public partial class GroupListControl : UserControl
{
private IMainWindowApi mainApi = null!;
public GroupListControl()
{
InitializeComponent();
}
public void LoadContent(IMainWindowApi mainApi)
{
this.mainApi = mainApi;
PrepareList();
LoadList();
}
private void PrepareList()
{
radListView_GroupList.BeginUpdate();
radListView_GroupList.Columns.Clear();
radListView_GroupList.Columns.Add(GeneralLangRes.Column_Name);
radListView_GroupList.Columns.Add(GeneralLangRes.Column_Fandom);
radListView_GroupList.Columns.Add(GroupListControlLangRes.Column_Owner);
radListView_GroupList.EndUpdate();
}
public void LoadList()
{
radListView_GroupList.BeginUpdate();
radListView_GroupList.Columns.Clear();
var groups = mainApi!.Manager?.Groups.GetGroups();
if (groups != null)
{
foreach (Model.Group group in groups)
{
AddGroupToList(group);
}
}
radListView_GroupList.EndUpdate();
}
public void AddGroupToList(Model.Group group)
{
radListView_GroupList.BeginUpdate();
var newItem = new ListViewDataItem();
UpdateCharListViewItem(newItem, group);
newItem.Value = group;
radListView_GroupList.EndUpdate();
}
private void UpdateCharListViewItem(ListViewDataItem listItem, Model.Group group)
{
listItem[0] = group.Name;
listItem[1] = group.Fandom;
listItem[2] = mainApi!.Manager?.Groups.GetOwner(group)!.Name;
}
// E V E N T S
private void RadMenuItem_CreateGroup_Click(object sender, System.EventArgs e)
{
}
private void RadMenuItem_DeleteGroup_Click(object sender, System.EventArgs e)
{
}
private void RadMenuItem_OpenGroup_Click(object sender, System.EventArgs e)
{
}
private void RadTextBoxControl_SearchBox_TextChanged(object sender, System.EventArgs e)
{
}
// Auflistung der Gruppen
// Hinzufügen
// Löschen + Umbenennen (Wenn Admin/Mod)
}