static void Main(string[] args) { // loop to continue until user is done - key q string _input = ""; UserDTO user = new UserDTO(); //bool IsFound = false; MockDb db = new MockDb(); string _connection = ConfigurationManager.ConnectionStrings["DBCONN"].ToString(); string _database = ConfigurationManager.AppSettings["MOCKORDB"].ToString(); DbAdo ado = new DbAdo(_connection); Printer.MainMenu(); _input = Console.ReadLine().ToLower(); do { // enter app as a guest if (_input.ToLower() == "g") { user = new UserDTO(RoleType.Guest); } if (_input.ToLower() == "pp") { Printer.Profile(user); } if (_input.ToLower() == "pu") { List <UserDTO> _users = new List <UserDTO>();; if (_database == DBType.Mock.ToString()) { _users = db.GetUsers(); } else { // database version _users = ado.GetUsers(); } Printer.Users(_users); // TODO: implement this } if (_input.ToLower() == "pr") { // TODO: can I make the configurable?? List <RoleDTO> _roles; if (_database == DBType.Mock.ToString()) { _roles = db.GetRoles(); } else { _roles = ado.GetRoles(); } Printer.Roles(_roles); // TODO: implement this } if (_input.ToLower() == "pm") { Printer.MainMenu(); } if (_input.ToLower() == "r") // REGISTER { UserDTO u = Printer.CollectAddUserData(); if (_database == DBType.Mock.ToString()) { db.CreateUser(u); } else { // database version ado.CreateUser(u); } } // else if(input.ToLower() == "l") // LOGIN // { // // login method and , where to go next ?? // // WHAT ARE THE LOGICAL STEPS FOR LOGGING IN? // // step 1: prompt for username and password // // step 2a: retrieve all users and put that in variable - GetUsers() // // step 2b: loop thru the users list, checking username/password from the list // // step 2c: compare username and password for current element in the loop // // step 2d: if match, log them in and save the info // // step 2f: error message, bad login and prompt to enter again // Console.WriteLine("Enter your username: "******"Enter your password: "******"Match found. Welcome {0} {1}. Your Role is {2}.", loginInUser.FirstName, // loginInUser.LastName, loginInUser.Role.RoleName); // IsFound = true; // } // } // if (IsFound == false) { // Console.WriteLine("User incorrect. Try again."); // } // // depending on the Role, we will want to provide a custom set of menu options // // PATRON - least privileges // // CHECKOUT STUFF // // menu - search, update my profile, logout // if (loginInUser.RoleID_FK == (int)Roles.Patron) // PATRON ROLE // { // Console.WriteLine("MENU: S - Search, P - My Profile, O - Logout"); // string inputPatron = Console.ReadLine(); // if (inputPatron.ToLower() == "o") // { // IsFound = false; // without this - a bug that caused an infinite loop // Console.WriteLine("Logging out .... Bye {0} {1}", loginInUser.FirstName, loginInUser.LastName); // continue; // } // else // { // Printer.PatronOptions(inputPatron, loginInUser); // } // } // else if(loginInUser.RoleID_FK == (int)Roles.Librarian) // LIBRARIAN ROLE // { // Console.WriteLine("MENU: S - Search, P - My Profile, B - Book, A - Author, " + // " P - Publisher, G - Genre, O - Logout"); // string inputLibrarian = Console.ReadLine(); // if (inputLibrarian.ToLower() == "o") // { // IsFound = false; // without this - a bug that caused an infinite loop // Console.WriteLine("Logging out .... Bye {0} {1}", loginInUser.FirstName, loginInUser.LastName); // continue; // } // else // { // Printer.LibrarianOptions(inputLibrarian, loginInUser); // } // } // else if (loginInUser.RoleID_FK == (int)Roles.Administrator) // ADMINISTRATOR ROLE // { // Console.WriteLine("MENU: S - Search, P - My Profile, B - Book, A - Author, " + // " P - Publisher, G - Genre, U - User, O - Logout"); // string inputAdmin = Console.ReadLine(); // if (inputAdmin.ToLower() == "o") // { // IsFound = false; // without this - a bug that caused an infinite loop // Console.WriteLine("Logging out .... Bye {0} {1}", loginInUser.FirstName, loginInUser.LastName); // continue; // } // else // { // Printer.AdminOptions(inputAdmin, loginInUser); // } // } // // ADMINSTRATOR - most privieges // // CHANGE PASSWORD, RESETTING STUFF // // menu - search, update my profile, Book, Publisher, Genre, Users logout // } Printer.MainMenu(); _input = Console.ReadLine().ToLower(); } while (_input.ToLower() != "q"); Printer.End(); Console.ReadLine(); // stop program }