internal static SalesInvoicesMenuOptions GetSalesInvoicesMenuOption() { Console.WriteLine(""); Console.WriteLine("*******************************************"); Console.WriteLine("This is your Sales Invoices menu."); Console.WriteLine("What do you want to do?"); Console.WriteLine("*******************************************"); Console.WriteLine(""); Console.WriteLine(string.Format("{0:D} - {1}", SalesInvoicesMenuOptions.Sales_Invoices_GetAll, SalesInvoicesMenuOptions.Sales_Invoices_GetAll.ToName())); Console.WriteLine(string.Format("{0:D} - {1}", SalesInvoicesMenuOptions.Sales_Invoices_GetOdata, SalesInvoicesMenuOptions.Sales_Invoices_GetOdata.ToName())); Console.WriteLine(string.Format("{0:D} - {1}", SalesInvoicesMenuOptions.Sales_Invoices_Create, SalesInvoicesMenuOptions.Sales_Invoices_Create.ToName())); Console.WriteLine(string.Format("{0:D} - {1}", SalesInvoicesMenuOptions.Sales_Invoices_GetLastInvoice, SalesInvoicesMenuOptions.Sales_Invoices_GetLastInvoice.ToName())); Console.WriteLine(string.Format("{0:D} - {1}", SalesInvoicesMenuOptions.Sales_Invoices_Del, SalesInvoicesMenuOptions.Sales_Invoices_Del.ToName())); Console.WriteLine(""); Console.WriteLine(string.Format("{0:D} - {1}", SalesInvoicesMenuOptions.Exit, SalesInvoicesMenuOptions.Exit.ToName())); Console.WriteLine(""); Console.WriteLine("*******************************************"); Console.WriteLine(""); Console.WriteLine("Type you option: "); ConsoleKeyInfo userOption = Console.ReadKey(true); SalesInvoicesMenuOptions option = SalesInvoicesMenuOptions.Exit; int maxOption = option.Max(); int intOption = 0; if (!int.TryParse(userOption.KeyChar.ToString(), out intOption)) { Console.WriteLine(""); Console.WriteLine("Not a valid Input. Back to Main Menu."); intOption = 0; } else { if (intOption == 0) { Console.WriteLine(""); Console.WriteLine("selected option " + string.Format("{0:D} - {1}", option, option.ToName())); } else if (intOption < 0 || intOption > maxOption) { Console.WriteLine(""); Console.WriteLine("Not a valid Input. Back to Main Menu."); intOption = 0; } else { option = (SalesInvoicesMenuOptions)intOption; } } return(option); }
private static async Task <int> HandleMainMenuOptionAsync(SessionContext sessionContext, AuthenticationProvider authenticationProvider, MenuOptions option) { Console.WriteLine(""); Console.WriteLine("selected option " + string.Format("{0:D} - {1}", option, option.ToName())); Console.WriteLine(""); // Display Sub Menu according to Menu Selection. switch (option) { case MenuOptions.Sales_Customers: CustomersMenuOptions customersOption = CustomersMenuOptions.Exit; do { customersOption = ConsoleHelper.GetCustomersMenuOption(); if (customersOption != CustomersMenuOptions.Exit) { await HandleCustomersOperationAsync(sessionContext, authenticationProvider, customersOption); } } while (customersOption != CustomersMenuOptions.Exit); break; case MenuOptions.Sales_SalesItems: SalesItemsMenuOptions salesItemsOption = SalesItemsMenuOptions.Exit; do { salesItemsOption = ConsoleHelper.GetSalesItemsMenuOption(); if (salesItemsOption != SalesItemsMenuOptions.Exit) { await HandleSalesItemsOperationAsync(sessionContext, authenticationProvider, salesItemsOption); } } while (salesItemsOption != SalesItemsMenuOptions.Exit); break; case MenuOptions.Sales_SalesOrders: SalesOrdersMenuOptions salesOrdersOption = SalesOrdersMenuOptions.Exit; do { salesOrdersOption = ConsoleHelper.GetSalesOrdersMenuOption(); if (salesOrdersOption != SalesOrdersMenuOptions.Exit) { await HandleSalesOrdersOperationAsync(sessionContext, authenticationProvider, salesOrdersOption); } } while (salesOrdersOption != SalesOrdersMenuOptions.Exit); break; case MenuOptions.Sales_SalesInvoices: SalesInvoicesMenuOptions salesInvoicesOption = SalesInvoicesMenuOptions.Exit; do { salesInvoicesOption = ConsoleHelper.GetSalesInvoicesMenuOption(); if (salesInvoicesOption != SalesInvoicesMenuOptions.Exit) { await HandleSalesInvoicesOperationAsync(sessionContext, authenticationProvider, salesInvoicesOption); } } while (salesInvoicesOption != SalesInvoicesMenuOptions.Exit); break; } return(0); }
private static async Task <int> HandleSalesInvoicesOperationAsync(SessionContext sessionContext, AuthenticationProvider authenticationProvider, SalesInvoicesMenuOptions option) { Console.WriteLine(""); Console.WriteLine("selected option " + string.Format("{0:D} - {1}", option, option.ToName())); Console.WriteLine(""); // Get the authorization access token SalesInvoicesController.AccountKey = sessionContext.AccountKey; SalesInvoicesController.SubscriptionKey = sessionContext.SubscriptionKey; SalesInvoicesController.CompanyKey = sessionContext.CompanyKey; SalesInvoicesController.CultureKey = sessionContext.CultureKey; SalesInvoicesController.AuthenticationProvider = authenticationProvider; switch (option) { case SalesInvoicesMenuOptions.Sales_Invoices_GetAll: await SalesInvoicesController.GetInvoicesAsync(); break; case SalesInvoicesMenuOptions.Sales_Invoices_GetOdata: await SalesInvoicesController.GetTop5InvoicesAsync(); break; case SalesInvoicesMenuOptions.Sales_Invoices_GetLastInvoice: sessionContext.InvoiceResource = await SalesInvoicesController.GetLastInvoiceAsync(false); break; case SalesInvoicesMenuOptions.Sales_Invoices_Create: await SalesInvoicesController.CreateInvoiceAsync(); /// Just to update sessionContext.InvoiceResource = await SalesInvoicesController.GetLastInvoiceAsync(true); break; case SalesInvoicesMenuOptions.Sales_Invoices_Del: if (sessionContext.InvoiceResource == null) { sessionContext.InvoiceResource = await SalesInvoicesController.GetLastInvoiceAsync(true); } if (sessionContext.InvoiceResource != null) { await SalesInvoicesController.DeleteInvoiceAsync(sessionContext.InvoiceResource); sessionContext.InvoiceResource = null; } else { ConsoleHelper.WriteErrorLine("You must create an invoice first."); } break; } return(0); }