private static void EditOpenTicketSubFunction() { string currentUsernameRole = _db.RetrieveCurrentUsernameRoleFromDatabase(); int TicketID = print.SelectTicketID(); if (_db.CheckIfTicketIDWithStatusOpenExistsInList(TicketID) == false) { print.ColoredText($"There is no Customer Ticket with [ID = {TicketID}]\n\n(Press any key to continue)", ConsoleColor.DarkRed); Console.ReadKey(); ActiveUserFunctions.UserFunctionMenuScreen(currentUsernameRole); } else { EditTicketOptions(TicketID); ViewExistingTickets.ViewSingleCustomerTicket(TicketID); ActiveUserFunctions.UserFunctionMenuScreen(currentUsernameRole); } }
public static void UserFunctionMenuScreen(string currentUsernameRole) { var _db = new ConnectToServer(); string currentUser = _db.RetrieveCurrentUserFromDatabase(); int countTickets = _db.CountOpenTicketsAssignedToUser(currentUser); string notificationsAdmin = $"Check user notifications"; string notificationsUser = $"Check user notifications [{countTickets}]"; string requests = "Create new username/password from requests"; string viewUsers = "Show list of active users"; string modifyRole = "Upgrade/Downgrade user's role"; string deleteUser = "******"; string manageTickets = "Manage Customer Trouble Tickets"; string viewTickets = "View Trouble Tickets"; string editTicket = "Edit Trouble Tickets"; string deleteTicket = "Delete Trouble Tickets"; string logOut = "\nLog Out"; string message = "\nChoose one of the following functions\n"; //Active User Functions. Control of actions is maintained by excluding a user from certain methods. switch (currentUsernameRole) { #region Super Admin Functions case "super_admin": while (true) { string SuperAdminFunctionMenu = SelectMenu.MenuColumn(new List <string> { notificationsAdmin, requests, viewUsers, modifyRole, deleteUser, manageTickets, viewTickets, editTicket, deleteTicket, logOut }, currentUser, message).option; if (SuperAdminFunctionMenu == notificationsAdmin) { CheckNotifications.CheckAdminNotifications(); } else if (SuperAdminFunctionMenu == requests) { SuperAdminFunctions.CreateNewUserFromRequestFunction(); } else if (SuperAdminFunctionMenu == viewUsers) { SuperAdminFunctions.ShowAvailableUsersFunction(); } else if (SuperAdminFunctionMenu == modifyRole) { SuperAdminFunctions.AlterUserRoleStatus(); } else if (SuperAdminFunctionMenu == deleteUser) { SuperAdminFunctions.DeleteUserFromDatabase(); } else if (SuperAdminFunctionMenu == manageTickets) { ManageTroubleTickets.OpenOrCloseTroubleTicket(); } else if (SuperAdminFunctionMenu == viewTickets) { ViewExistingTickets.ViewExistingOpenTicketsFunction(); } else if (SuperAdminFunctionMenu == editTicket) { EditExistingTroubleTickets.EditOpenTicket(); } else if (SuperAdminFunctionMenu == deleteTicket) { DeleteTroubleTickets.DeleteExistingOpenOrClosedTicketFunction(); } else if (SuperAdminFunctionMenu == logOut) { _db.LoggingOffQuasar(); } } #endregion #region Administrator Functions case "Administrator": while (true) { string AdminFunctionMenu = SelectMenu.MenuColumn(new List <string> { notificationsUser, manageTickets, viewTickets, editTicket, deleteTicket, logOut }, currentUser, message).option; if (AdminFunctionMenu == notificationsUser) { CheckNotifications.CheckUserNotifications(); } else if (AdminFunctionMenu == manageTickets) { ManageTroubleTickets.OpenOrCloseTroubleTicket(); } else if (AdminFunctionMenu == viewTickets) { ViewExistingTickets.ViewExistingOpenTicketsFunction(); } else if (AdminFunctionMenu == editTicket) { EditExistingTroubleTickets.EditOpenTicket(); } else if (AdminFunctionMenu == deleteTicket) { DeleteTroubleTickets.DeleteExistingOpenOrClosedTicketFunction(); } else if (AdminFunctionMenu == logOut) { _db.LoggingOffQuasar(); } } #endregion #region Moderator Functions case "Moderator": while (true) { string ModeratorFunctionMenu = SelectMenu.MenuColumn(new List <string> { notificationsUser, manageTickets, viewTickets, editTicket, logOut }, currentUser, message).option; if (ModeratorFunctionMenu == notificationsUser) { CheckNotifications.CheckUserNotifications(); } else if (ModeratorFunctionMenu == manageTickets) { ManageTroubleTickets.OpenOrCloseTroubleTicket(); } else if (ModeratorFunctionMenu == viewTickets) { ViewExistingTickets.ViewExistingOpenTicketsFunction(); } else if (ModeratorFunctionMenu == editTicket) { EditExistingTroubleTickets.EditOpenTicket(); } else if (ModeratorFunctionMenu == logOut) { _db.LoggingOffQuasar(); } } #endregion #region User Functions case "User": while (true) { string UserFunctionMenu = SelectMenu.MenuColumn(new List <string> { notificationsUser, manageTickets, viewTickets, logOut }, currentUser, message).option; if (UserFunctionMenu == notificationsUser) { CheckNotifications.CheckUserNotifications(); } else if (UserFunctionMenu == manageTickets) { ManageTroubleTickets.OpenOrCloseTroubleTicket(); } else if (UserFunctionMenu == viewTickets) { ViewExistingTickets.ViewExistingOpenTicketsFunction(); } else if (UserFunctionMenu == logOut) { _db.LoggingOffQuasar(); } } #endregion } }