예제 #1
0
 private static void Main(string[] args)
 {
     while (true)
     {
         IDataHandler DataProvider      = new DataHandlingOnDatabase();
         MainActions  MainMenuSelection = new MainActions(DataProvider);
         Console.WriteLine("WELCOME");
         SignupOrLogin WelcomeScreen = new SignupOrLogin(DataProvider);
         User          LoggedInUser  = WelcomeScreen.SignOrLog(DataProvider);
         MainMenuSelection.MainMenu(LoggedInUser);
     }
 }
예제 #2
0
        internal void ShowPersonalMenu(User ActiveUser, IDataHandler dataHandler)
        {
            PersonalMessageActions PersonalMessageAction = new PersonalMessageActions(dataHandler, ActiveUser);
            MainActions            MA = new MainActions(dataHandler);

            string UserChoice = SelectMenu.Vertical(new List <string>
            {
                CREATE_MESSAGE,
                SHOW_RECEIVED_MESSAGES + PersonalMessageAction.CountUnreadReceived(),
                SHOW_SENT_MESSAGES + PersonalMessageAction.CountUnreadSent(),
                CHECK_IF_MESSAGE_READ,
                EDIT_MESSAGE,
                DELETE_MESSAGE,
                BACK
            }).NameOfChoice;

            if (UserChoice.Contains(SHOW_RECEIVED_MESSAGES))
            {
                PersonalMessageAction.ShowReceivedMessages();
            }
            else if (UserChoice.Contains(SHOW_SENT_MESSAGES))
            {
                PersonalMessageAction.ShowSentMessages();
            }
            else
            {
                switch (UserChoice)
                {
                case CREATE_MESSAGE:
                    PersonalMessageAction.CreateMessage();
                    break;

                case CHECK_IF_MESSAGE_READ:
                    PersonalMessageAction.IsMessageRead();
                    break;

                case EDIT_MESSAGE:
                    PersonalMessageAction.UpdateMessage();
                    break;

                case DELETE_MESSAGE:
                    PersonalMessageAction.DeleteMessage();
                    break;

                case BACK:
                    MA.Showmenu(ActiveUser.TypeOfUser);
                    break;
                }
            }
        }
예제 #3
0
        internal void ShowForumMenu(IDataHandler DataHandler, User ActiveUser)
        {
            string UserSelection = SelectMenu.Vertical(new List <string>
            {
                ALL_MESSAGES,
                MY_MESSAGES,
                NEW_MESSAGE,
                EDIT_MESSAGE,
                DELETE_MESSAGE,
                BACK
            }).NameOfChoice;

            ForumActions ForumAction = new ForumActions(DataHandler, ActiveUser);
            MainActions  MA          = new MainActions(DataHandler);

            switch (UserSelection)
            {
            case ALL_MESSAGES:
                ForumAction.ShowAllMessages();
                break;

            case MY_MESSAGES:
                ForumAction.ShowMyMessages();
                break;

            case NEW_MESSAGE:
                ForumAction.CreateMessage();
                break;

            case EDIT_MESSAGE:
                ForumAction.UpdateMessage();
                break;

            case DELETE_MESSAGE:
                ForumAction.DeleteMessage();
                break;

            case BACK:
                MA.Showmenu(ActiveUser.TypeOfUser);
                break;
            }
        }
        public bool CreateMessage()
        {
            User Receiver = MainActions.SelectUser();

            Console.WriteLine("Add a title:");
            string title = Console.ReadLine();

            Console.WriteLine("Send the message");
            string text = Console.ReadLine();

            PersonalMessage NewPersonalMessage = new PersonalMessage()
            {
                SenderID            = ActiveUser.UserID,
                ReceiverID          = Receiver.UserID,
                TitleText           = title,
                PersonalMessageText = text
            };

            return(DataHandler.CreatePersonalMessageData(NewPersonalMessage));
        }
예제 #5
0
        public bool DeleteUser()
        {
            SpecificUserActions SUA = new SpecificUserActions();

            User SelectedUser = MainActions.AdminSelectsUser();

            string UpdateSelection = SelectMenu.Horizontal(new List <string>
            {
                DELETE_USER,
                BACK
            }).NameOfChoice;

            switch (UpdateSelection)
            {
            case DELETE_USER:
            default:
                return(DataProvider.DeleteUser(SelectedUser));

            case BACK:
                return(false);
            }
        }
예제 #6
0
        public bool UpdateUserAccess()
        {
            string UpdateSelection = SelectMenu.Horizontal(new List <string>
            {
                UPGRADE,
                DOWNGRADE,
                BACK
            }).NameOfChoice;

            switch (UpdateSelection)
            {
            case UPGRADE:

                User SelectedUser = MainActions.SelectUser();
                switch (SelectedUser.TypeOfUser)
                {
                case UserType.Guest:
                    Console.WriteLine("Upgrade to User or Admin;");
                    string AdminChoice = SelectMenu.Horizontal(new List <string> {
                        USER, ADMIN
                    }).NameOfChoice;

                    switch (AdminChoice)
                    {
                    case USER:
                    default:
                        SelectedUser.TypeOfUser = UserType.User;
                        break;

                    case ADMIN:
                        SelectedUser.TypeOfUser = UserType.Administrator;
                        break;
                    }
                    break;

                case UserType.User:
                    SelectedUser.TypeOfUser = UserType.Administrator;
                    break;

                case UserType.Administrator:
                default:
                    break;
                }
                DataProvider.UpdateUserAccess(SelectedUser);
                break;

            case DOWNGRADE:
                Console.WriteLine("Choose the user you want to Downgrade:");
                User UserSelection = MainActions.SelectUser();
                switch (UserSelection.TypeOfUser)
                {
                case UserType.Administrator:
                    Console.WriteLine("Downgrade to User or Guest;");
                    string AdminChoice = SelectMenu.Horizontal(new List <string> {
                        USER, GUEST
                    }).NameOfChoice;
                    switch (AdminChoice)
                    {
                    case USER:
                    default:
                        UserSelection.TypeOfUser = UserType.User;
                        break;

                    case GUEST:
                        UserSelection.TypeOfUser = UserType.Guest;
                        break;
                    }
                    break;

                case UserType.User:
                    UserSelection.TypeOfUser = UserType.Guest;
                    break;

                case UserType.Guest:
                default:
                    break;
                }
                DataProvider.UpdateUserAccess(UserSelection);
                break;

            case BACK:
                return(false);
            }
            return(true);
        }