Basic announcements added

This commit is contained in:
Dimitar Byalkov
2023-04-10 22:09:26 +02:00
parent 3eabc9c64d
commit 754cc5bfff
16 changed files with 670 additions and 80 deletions

View File

@@ -15,9 +15,11 @@ namespace WinForms
public partial class Dashboard : Form
{
Login loginForm;
User user;
public Dashboard(Login loginForm, User user)
{
this.loginForm = loginForm;
this.user = user;
InitializeComponent();
lblUserStatus.Text = $"Logged in as: {user.Role} {user.Name}";
if (user.Role == UserRole.MANAGER)
@@ -25,18 +27,27 @@ namespace WinForms
btnCreateUser.Enabled = false;
btnDeleteUser.Enabled = false;
btnUpdateUser.Enabled = true;
btnNewAnnouncement.Enabled = false;
btnDeleteAnnouncement.Enabled = false;
btnEditAnnouncement.Enabled = true;
}
else if (user.Role == UserRole.ADMIN)
{
btnCreateUser.Enabled = true;
btnDeleteUser.Enabled = true;
btnUpdateUser.Enabled = true;
btnNewAnnouncement.Enabled = true;
btnDeleteAnnouncement.Enabled = true;
btnEditAnnouncement.Enabled = true;
}
else
{
btnCreateUser.Enabled = false;
btnDeleteUser.Enabled = false;
btnUpdateUser.Enabled = false;
btnNewAnnouncement.Enabled = false;
btnDeleteAnnouncement.Enabled = false;
btnEditAnnouncement.Enabled = false;
}
RefreshLists();
}
@@ -81,11 +92,50 @@ namespace WinForms
{
lbUsers.Items.Add(_user);
}
AnnouncementManager announcementManager = new AnnouncementManager();
lbAnnouncements.Items.Clear();
foreach (Announcement announcement in announcementManager.GetAllAnnouncements())
{
lbAnnouncements.Items.Add(announcement);
}
}
private void Dashboard_FormClosed(object sender, FormClosedEventArgs e)
{
loginForm.Show();
}
private void btnNewAnnouncement_Click(object sender, EventArgs e)
{
AnnouncementForm announcementForm = new AnnouncementForm(null, false, user);
announcementForm.ShowDialog();
RefreshLists();
}
private void btnDeleteAnnouncement_Click(object sender, EventArgs e)
{
Announcement currentAnnouncement = (Announcement)lbAnnouncements.SelectedItem;
if (MessageBox.Show($"Are you sure you want to delete\n{currentAnnouncement.Title}\nCreated at {currentAnnouncement.PublishDate.ToString("g")} by {currentAnnouncement.Author.Name}",
"Delete announcement", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
AnnouncementManager announcementManager = new AnnouncementManager();
announcementManager.DeleteAnnouncement(currentAnnouncement.ID);
}
RefreshLists();
}
private void btnEditAnnouncement_Click(object sender, EventArgs e)
{
AnnouncementForm announcementForm = new AnnouncementForm((Announcement)lbAnnouncements.SelectedItem, false, null);
announcementForm.ShowDialog();
RefreshLists();
}
private void btnViewAnnouncement_Click(object sender, EventArgs e)
{
AnnouncementForm announcementForm = new AnnouncementForm((Announcement)lbAnnouncements.SelectedItem, true, null);
announcementForm.ShowDialog();
RefreshLists();
}
}
}