/// <summary> /// Attemps to read input from the user to fill out details in an invoice packet. /// </summary> /// <param name="tui"> /// The text ui reference for outout to the screen space. /// </param> /// <param name="action"> /// The action the packet will perform. /// </param> /// <param name="sessionID"> /// The sessionID of the current user. /// </param> /// <param name="userID"> /// The userID for the current user. /// </param> /// <returns> /// A newly created invoice packet from user input. /// </returns> private InvoicePacket ReadInvoicePacket(TextUI tui, string action, string sessionID, string userID) { // A nice message at the top. tui.WriteLine("\tPlease enter the Invoices's details. \n "); tui.Render(); // Get the current date / time. string currentDateTime = DateTime.Now.ToString("MM-dd-yyyy HH:mm:ss"); // Show the current date / time. tui.WriteLine("\tCurrentDateTime: " + currentDateTime); tui.Refresh(); string serviceDate = ""; // We need to get the service date from the user in the correct format. while (!DateTime.TryParse(serviceDate, out DateTime result)) { // Attempt to get a date input from the user and convert it to the correct format. serviceDate = InputController.ReadText(10, 10, "Service Date of form MM-DD-YYYY"); DateTime.TryParse(serviceDate, out result); serviceDate = result.ToString("MM-dd-yyyy"); } // Show the service date. tui.WriteLine("\tServiceDate: " + serviceDate); tui.Refresh(); // Get the member id this invoice corresponds with. string memberID = InputController.ReadInteger(9, 9, true, "Member ID").ToString(); // Show the member id. tui.WriteLine("\tMemberID: " + memberID); tui.Refresh(); // Get the service code the invoice will charge for. string serviceCode = InputController.ReadInteger(6, 6, true, "Service Code").ToString(); // Show the service code. tui.WriteLine("\tServiceCode: " + serviceCode); tui.Refresh(); // Get any comments from the user. string comments = InputController.ReadText(0, 100, "Comments").ToString(); // Show the comments. tui.WriteLine("\tComments: " + comments); tui.Refresh(); // Create and return the new invoice packet. return(new InvoicePacket(action, sessionID, currentDateTime, serviceDate, userID, memberID, serviceCode, comments)); }
/// <summary> /// Attemps to read input from the user to fill out details in an service code packet. /// </summary> /// <param name="tui"> /// The text ui reference for outout to the screen space. /// </param> /// <param name="action"> /// The action the packet will perform. /// </param> /// <param name="sessionID"> /// The sessionID of the current user. /// <returns> /// A newly created service code packet from user input. /// </returns> private ServiceCodePacket ReadServiceCodePacket(TextUI tui, string action, string sessionID) { // A nice message at the top. tui.WriteLine(" \n \nPlease enter the service code details \n ", TextUI.TextUIJustify.CENTER); tui.Refresh(); // Some default service code we don't care about. string serviceCode = "100001"; if (action == "UPDATE_SERVICE_CODE") { // Get the service code, it must be a 6 digit, positive number. serviceCode = InputController.ReadInteger(6, 6, true, "Service Code").ToString(); // Show the service code tui.WriteLine("\tServiceCode: " + serviceCode); tui.Refresh(); } // Get the provider id from user input. It must be a 9 digit, positive number. string providerID = InputController.ReadInteger(9, 9, true, "Provider ID").ToString(); // Show the provider id. tui.WriteLine("\tProviderID: " + providerID); tui.Refresh(); // Get the service name from user input. string serviceName = InputController.ReadText(0, 20, "Service Name").ToString(); // Show the service name. tui.WriteLine("\tServiceName: " + serviceName); tui.Refresh(); string fee = ""; float outFee = 999999.9f; // Try to get a floating point value from user input. It must be less than 999.99; while (!float.TryParse(fee, out outFee) || outFee > 999.99f) { fee = InputController.ReadText(1, 6, "Service Fee (0.0)").ToString(); } // Show the service fee. tui.WriteLine("\tServiceFee: " + fee); tui.Refresh(); // Create and return a new service code packet. return(new ServiceCodePacket( action, sessionID, providerID, outFee, serviceCode, serviceName)); }
/// <summary> /// Attemps to read input from the user to fill out details in a login packet. /// </summary> /// <param name="tui"> /// The text ui reference for outout to the screen space. /// </param> /// <param name="accessLevel"> /// The access level for the packet to contain. /// </param> /// <returns> /// A newly created login packet from user input. /// </returns> private LoginPacket ReadLoginPacket(TextUI tui, int accessLevel) { // Show some nice message at the top. tui.Render(); tui.WriteLine(" \nPlease enter login details \n ", TextUI.TextUIJustify.CENTER); tui.Refresh(); // Get the username from the user. It must be a 9 digit, positive value. string username = InputController.ReadInteger(9, 9, true, "User ID").ToString(); // Show the username. tui.WriteLine(String.Format("UserID: {0}", username), TextUI.TextUIJustify.CENTER); tui.Refresh(); // Get the password from the user. string password = InputController.ReadText(1, 20, "Password"); // Show the password. tui.WriteLine(String.Format("Password: {0}", password), TextUI.TextUIJustify.CENTER); tui.Refresh(); // Create and return a new login packet. return(new LoginPacket("LOGIN", "", username, password, accessLevel)); }
/// <summary> /// Attemps to read input from the user to fill out details in a member packet. /// </summary> /// <param name="tui"> /// The text ui reference for outout to the screen space. /// </param> /// <param name="action"> /// The action the packet will perform. /// </param> /// <param name="sessionID"> /// The sessionID of the current user. /// </param> /// <returns> /// A newly created member packet from user input. /// </returns> private MemberPacket ReadMemberPacket(TextUI tui, string action, string sessionID) { // Nice message at the top. tui.WriteLine("\tPlease enter the member's details. \n "); tui.Render(); // Default memberID to something we don't care about. string memberID = "999999999"; // Default member status to active. string memberStatus = "ACTIVE"; if (action == "UPDATE_MEMBER") { // Get the 9 digit, positive memberID from the user. memberID = InputController.ReadInteger(9, 9, true, "Member ID").ToString(); tui.WriteLine("\tMemberID: " + memberID); tui.Refresh(); // Get the new status of the member from the user. string memberStatusResponse = ""; while (memberStatusResponse != "N" && memberStatusResponse != "n" && memberStatusResponse != "Y" && memberStatusResponse != "y") { memberStatusResponse = InputController.ReadText( 1, 1, "Member Active? [Y/y] YES [N/n] NO"); if (memberStatusResponse == "N" || memberStatusResponse == "n") { // User chose member to be suspended. memberStatus = "SUSPENDED"; } } } // Show member active status. tui.WriteLine("\tMemberActive: " + memberStatus); tui.Refresh(); // Get the member's name. string memberName = InputController.ReadText(0, 25, "Member Name"); // Show the name. tui.WriteLine("\tMemberName: " + memberName); tui.Refresh(); // Get the member's address. string memberAddress = InputController.ReadText(0, 25, "Member Address"); // Show the address. tui.WriteLine("\tMemberAddress: " + memberAddress); tui.Refresh(); // Get the member's city. string memberCity = InputController.ReadText(0, 14, "Member City"); // Show the city. tui.WriteLine("\tMemberCity: " + memberCity); tui.Refresh(); // Get the member's state. string memberState = InputController.ReadText(0, 2, "Member State"); // Show the state. tui.WriteLine("\tMemberState: " + memberState); tui.Refresh(); // Get the member's zip code. string memberZip = InputController.ReadInteger(5, 5, true, "Member Zip").ToString(); //Makes sure the zip code is 5 digits. memberZip = memberZip.PadLeft(5).Replace(" ", "0"); // Show the zip. tui.WriteLine("\tMemberZip: " + memberZip); tui.Refresh(); // Get the member's zip email address. string memberEmail = InputController.ReadText(0, 254, "Member Email"); tui.WriteLine("\tMemberEmail: " + memberEmail); // Create and return the new member packet. return(new MemberPacket(action, sessionID, memberID, memberStatus, memberName, memberAddress, memberCity, memberState, memberZip, memberEmail)); }
/// <summary> /// Attemps to read input from the user to fill out details in a provider packet. /// </summary> /// <param name="tui"> /// The text ui reference for outout to the screen space. /// </param> /// <param name="action"> /// The action the packet will perform. /// </param> /// <param name="sessionID"> /// The sessionID of the current user. /// </param> /// <returns> /// A newly created provider packet from user input. /// </returns> private ProviderPacket ReadProviderPacket(TextUI tui, string action, string sessionID) { // Nice message at the top. tui.WriteLine("\tPlease enter the provider's details. \n "); tui.Render(); // Some default providerID we dont care about. string providerID = "999999999"; // Default provider is active. string providerStatus = "ACTIVE"; if (action == "UPDATE_PROVIDER") { // Get the 9 digit, positive provider id. providerID = InputController.ReadInteger(9, 9, true, "Provider ID").ToString(); // Show the provider id. tui.WriteLine("\tProviderID: " + providerID); tui.Refresh(); // Determine if the provider is active. string providerStatusResponse = ""; while (providerStatusResponse != "N" && providerStatusResponse != "n" && providerStatusResponse != "Y" && providerStatusResponse != "y") { providerStatusResponse = InputController.ReadText( 1, 1, "Provider Active? [Y/y] YES [N/n] NO"); if (providerStatusResponse == "N" || providerStatusResponse == "n") { // User chose member to be suspended. providerStatus = "SUSPENDED"; } } } // Show the provider status. tui.WriteLine("\tProviderStatus: " + providerStatus); tui.Refresh(); // Get the provider's name. string providerName = InputController.ReadText(1, 25, "Provider Name"); // Show the provider's name. tui.WriteLine("\tProviderName: " + providerName); tui.Refresh(); // Get the provider's address. string providerAddress = InputController.ReadText(1, 25, "Provider Address"); // Show the provider's address. tui.WriteLine("\tProviderAddress: " + providerAddress); tui.Refresh(); // Get the provider's city. string providerCity = InputController.ReadText(1, 14, "Provider City"); // Show the provider's city. tui.WriteLine("\tProviderCity: " + providerCity); tui.Refresh(); // Get the provider's state. string providerState = InputController.ReadText(2, 2, "Provider State"); // Show the provider's state. tui.WriteLine("\tProviderState: " + providerState); tui.Refresh(); // Get the provider's zip code. string providerZip = InputController.ReadInteger( 5, 5, true, "Provider Zip").ToString(); //Makes sure the zip code is 5 digits. providerZip = providerZip.PadLeft(5).Replace(" ", "0"); // Show the provider's zip. tui.WriteLine("\tProviderZip: " + providerZip); tui.Refresh(); // Get the provider's zip email address. string providerEmail = InputController.ReadText(2, 254, "Provider Email"); // Show the provider's email. tui.WriteLine("\tProviderEmail: " + providerEmail); tui.Refresh(); // Get the provider's zip email address. string providerPassword = InputController.ReadText(3, 15, "Provider Password"); // Show the provider's password. tui.WriteLine("\tProviderPassword: " + providerPassword); tui.Refresh(); // Create and return the new provider packet. return(new ProviderPacket( action, sessionID, providerID, providerStatus, providerName, providerAddress, providerCity, providerState, providerZip, providerEmail, providerPassword)); }