public ActiveCustomer SelectActiveCustomer() { var allCustomers = new List <ActiveCustomer>(); var activeCustomerQuery = new SelectActiveCustomerQuery(); var customers = activeCustomerQuery.SelectActiveCustomer(); var viewAllCustomers = new View(); viewAllCustomers.AddMenuText(""); viewAllCustomers.AddMenuText("Select Customer:"); foreach (var customer in customers) { allCustomers.Add(customer); viewAllCustomers.AddMenuOption($"{customer.FirstName} {customer.LastName}"); } viewAllCustomers.AddMenuText("Press 0 to go BACK."); Console.Write(viewAllCustomers.GetFullMenu()); var customerSelected = int.Parse(Console.ReadLine().ToString()); if (customerSelected == 0) { return(null); } var selectedCustomer = allCustomers[customerSelected - 1]; return(allCustomers.First <ActiveCustomer>(x => x == selectedCustomer)); }
static void Main(string[] args) { var mainMenu = new MainView(); var run = true; while (run) { //MAIN MENU string userInput = mainMenu.MainMenu(); char input = Convert.ToChar(userInput); switch (input) { case '0': run = false; break; case '1': //"Add Customer" var newCreateCustomer = new NewCustomerView(); var customerFirstName = newCreateCustomer.GetFirstName(); var customerLastName = newCreateCustomer.GetLastName(); var customerStreet = newCreateCustomer.GetStreet(); var customerCity = newCreateCustomer.GetCity(); var customerState = newCreateCustomer.GetState(); var customerZip = newCreateCustomer.GetZip(); var customerPhone = newCreateCustomer.GetPhone(); var customerEmail = newCreateCustomer.GetEmail(); var customerInfo = new InsertCustomerQuery(); customerInfo.InsertCustomer(customerFirstName, customerLastName, customerStreet, customerCity, customerState, customerZip, customerPhone, customerEmail); break; case '2': //"Select Customer" var viewAllCustomers = new AllCustomersView(); _selectedCustomer = viewAllCustomers.SelectActiveCustomer(); var activeCustomerQuery = new SelectActiveCustomerQuery(); var activeCustomers = activeCustomerQuery.SelectActiveCustomer(); // BUY AND SELL SUB MENU var customerSubMenu = new CustomerSubMenuView(); var userOption = customerSubMenu.CustomerSubMenu(_selectedCustomer); var userRole = Convert.ToChar(userOption); switch (userRole) { case '1': //Buyer Menu var buyerMenu = new BuyerMenuView(); buyerMenu.BuyerMenu(_selectedCustomer); break; case '2': //Seller Menu var sellerMenu = new SellerMenuView(); string sellerInput = sellerMenu.SellerMenu(_selectedCustomer); var sellerChar = Convert.ToChar(sellerInput); switch (sellerChar) { case '1': //Add Product var addProductView = new CreateProductView(); var customerId = (_selectedCustomer.CustomerId); var productTitle = addProductView.GetProdcutTitle(_selectedCustomer); var productPrice = addProductView.GetProdcutPrice(_selectedCustomer); var productQuantity = addProductView.GetProdcutQuantity(_selectedCustomer); var addProduct = new InsertProductQuery(); var newProduct = addProduct.InsertProduct(customerId, productTitle, productPrice, productQuantity); break; case '2': //Edit Product var viewAllProductsForSeller = new AllProductsForSellerView(); var selectedProduct = viewAllProductsForSeller.SelectProduct(_selectedCustomer); var updateProductView = new UpdateProductView(); var updateProduct = updateProductView.UpdateProductMenu(selectedProduct, _selectedCustomer); var productSelected = Convert.ToChar(updateProduct); switch (productSelected) { case '1': var title = updateProductView.UpdateTitle(); var updateProductTitleQuery = new UpdateProductQueries(); var executeUpdateTitle = updateProductTitleQuery.UpdateProductTitle(selectedProduct.ProductId, title); break; case '2': var price = updateProductView.UpdatePrice(); var updateProductPriceQuery = new UpdateProductQueries(); var executeUpdatePrice = updateProductPriceQuery.UpdateProductPrice(selectedProduct.ProductId, price); break; case '3': var quantity = updateProductView.UpdateQuantity(); var updateProductQuantityQuery = new UpdateProductQueries(); var executeUpdateQuantity = updateProductQuantityQuery.UpdateProductQuantity(selectedProduct.ProductId, quantity); break; default: //Default for Update Product Menu break; } break; case '3': //Delete Product viewAllProductsForSeller = new AllProductsForSellerView(); var productToDelete = viewAllProductsForSeller.SelectProduct(_selectedCustomer); var deleteProduct = new DeleteProductQuery(); var executeDeleteProduct = deleteProduct.DeleteProduct(productToDelete.ProductId); break; case '4': //Revenue Report var revenueReportView = new RevenueReportView(); revenueReportView.RunRevenueReport(_selectedCustomer); break; default: //Default for Seller Menu break; } break; default: //Default for BUY/SELL Menu break; } break; default: //Default for Main Menu break; } } }