/// <summary> /// Saves the customer to the database /// </summary> /// <param name="customer">The customer with changes to be saved</param> public void saveCustomer(lib.Customer customer) { try { using var context = new StoreDBContext(_options); var dataCustomer = context.Customers.Where(c => c.CustomerId == customer.CustomerId).FirstOrDefault(); dataCustomer.Balance = customer.Balance; context.Update(dataCustomer); context.SaveChanges(); } catch (Exception) { Console.WriteLine("Error saving customer's."); } }
public void createCustomer(lib.Customer customer) { if (customer.Balance < 0) { throw new ArgumentException("Customer balance cannot be less than zero."); } if (!customer.FirstName.All(char.IsLetter)) { throw new ArgumentException("Customer name must only be a alphabet letter"); } if (!customer.LastName.All(char.IsLetter)) { throw new ArgumentException("Customer name must only be a alphabet letter"); } _dataRepository.addCustomer(customer); }
/// <summary> /// Adds a new customer to the database /// </summary> /// <param name="customer">The newly created customer</param> public void addCustomer(lib.Customer customer) { try { var dataCustomer = new DataAccess.Customer(); dataCustomer.Balance = customer.Balance; dataCustomer.FirstName = customer.FirstName; dataCustomer.LastName = customer.LastName; _context.Add(dataCustomer); _context.SaveChanges(); } catch (Exception) { Console.WriteLine("Error saving customer."); } }
public void handleCustomer(bool isForeground) { bool handled = false; while (!handled) { try { _outputter.printString("\n1 - Enter New Customer\n2 - Enter Current Customer\n3 - View All Customers\n4 - View Customer Orders" + (isForeground ? "\n5 - Back\n" : "\n")); var input = _inputter.getNumber(); if (input == 1) { _outputter.printString("What is the customer's first name?"); var firstNameInput = _inputter.getString(); _outputter.printString("What is the customer's last name?"); var lastNameInput = _inputter.getString(); _outputter.printString("What is the customer's balance?"); var balanceInput = _inputter.getDouble(); _customer = new lib.Customer(_customers.Max((customer) => customer.CustomerId) + 1, firstNameInput, lastNameInput, balanceInput); _storeRespository.addCustomer(_customer); handled = true; } else if (input == 2) { _outputter.printString("What is the customer's id?"); var idInput = _inputter.getNumber(); _customer = _customers.Find((customer) => customer.CustomerId == idInput); if (_customer != null) { handled = true; } else { _outputter.printString("Customer Id not found."); } } else if (input == 3) { _outputter.printAllCustomers(_customers); } else if (input == 4) { if (_customer == null) { _outputter.printString("No Customer Selected."); continue; } _outputter.printOrders(_storeRespository.getCustomerOrders(_customer.CustomerId)); } else if (input == 5) { if (isForeground) { handled = true; } } else { throw new InvalidOperationException("Invalid user input."); } } catch (Exception) { _outputter.printString("Invalid Input."); continue; } } }