write account

This commit is contained in:
2025-08-28 21:08:16 -04:00
parent 020bdb2be9
commit 708126e172
53 changed files with 1096 additions and 407 deletions

3
src/META-INF/MANIFEST.MF Normal file
View File

@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: lodge.TestReservations
Class-Path: .

View File

@@ -0,0 +1,80 @@
package lodge;
import java.net.URI;
import lodge.reservationsystem.AccomodationManager;
import lodge.reservationsystem.Account;
import lodge.reservationsystem.Address;
import lodge.reservationsystem.DataRepository;
import lodge.reservationsystem.EmailAddress;
public final class TestReservations {
public static void main(String[] args) throws Exception {
AccomodationManager mgr = new AccomodationManager();
String home = System.getenv("HOMEDRIVE")+System.getenv("HOMEPATH");
home= home.replace("\\", "/") + "/data";
DataRepository.setDataStoreRoot(home);
// 1. Get the list of loaded accounts from Manager
mgr.loadAll();
// 2. Retrieve a loaded account object that matches a specific account number
mgr.retrieveAccount("A######");
// 3. Add new account object to the list managed by Manager (if account object
// already exists on add action with the same account number, it is considered
// an error)
Account acct = mgr.newAccount("767-456-7890",
new Address("10 wilco ave", "wilco", "WY", "82801"),
new EmailAddress("wilco@wyommin.net"));
// 4. Request that Manager updates specific accounts files with data stored in
// memory
mgr.AddAccount(acct);
// 5. Add draft lodging reservation to an account (if reservation object already
// exists with the same reservation number, it is considered an error)
mgr.UpdateAccount(mgr.retrieveAccount(acct.account_number()));
/*
* if (acct != null)
* acct.addReservation(new HotelReservation());
*
* // 6. Complete reservation that is associated with an account
* Reservation rsrv = null;
* acct = null;
* acct = mgr.retrieveAccount("A######");
* if (acct != null) {
* rsrv = acct.retrieve("?######");
* rsrv.Complete();
* }
*
* // 7. Cancel reservation that is associated with an account
* if (acct != null) {
* rsrv = acct.retrieve("?######");
* if (rsrv != null)
* rsrv.Cancel();
* }
*
* if (rsrv != null) {
* // 8. Change reservation values that can be changed (if reservation is
* // cancelled, completed, or for past date, it is considered an error)
* rsrv = Reservation.update(rsrv);
*
* // 9. Request for price per night to be calculated and returned for a
* specific
* // reservation
*
* rsrv = Reservation.calculatePricePerNight(rsrv);
* // 10. Request for total reservation price to be calculated and returned for
* a
* // specific reservation
* }
*/
System.out.println("Program Completed.");
}
}

View File

@@ -0,0 +1,60 @@
package lodge.reservationsystem;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.Path;
import java.nio.file.Paths;
public class AccomodationManager {
private AccountList account_list = new AccountList();
public void loadAll() throws Exception {
account_list.clear();
// walk directories
Path rootDir = Paths.get(DataRepository.getPath());
Files.walkFileTree(rootDir, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
System.out.println("File: " + file.toAbsolutePath());
// load account number, and content
// load reservation files
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
System.out.println("Directory: " + dir.toAbsolutePath());
// prepare to load account number
return FileVisitResult.CONTINUE;
}
});
}
public Account retrieveAccount(String acct_id) {
return AccountList.retrieveAccount(account_list, acct_id);
}
public void AddAccount(Account acct) throws Exception{
AccountList.addAccount(account_list, acct);
}
public void UpdateAccount(Account acct) throws Exception {
AccountList.save(account_list, acct);
}
public final Account newAccount(String phone_number, Address mailing_address, EmailAddress email_address) throws Exception {
Account acct = null;
try {
acct = AccountList.newAccount(phone_number, mailing_address, email_address);
} catch (Exception e) {
e.printStackTrace();
}
AccountList.save(account_list, acct);
return acct;
}
}

View File

@@ -0,0 +1,108 @@
package lodge.reservationsystem;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Account {
String account_number;
String phone_number;
Address mailing_address;
EmailAddress email_address;
public Account(
String account_number,
String phone_number,
Address mailing_address,
EmailAddress email_address) {
this.account_number = account_number;
this.phone_number = phone_number;
this.mailing_address = mailing_address;
this.email_address = email_address;
}
@Override
public String toString() {
return "Account [account_number=" + account_number + ", phone_number=" + phone_number
+ ", mailing_address=" + mailing_address + ", email_address=" + email_address
+ ", account_number()=" + account_number() + ", phone_number()=" + phone_number()
+ ", mailing_address()=" + mailing_address() + ", email_address()=" + email_address()
+ "]";
}
//@TODO Write Account out in JSON
public static void Write(Account acct) throws IOException {
String dataRoot = DataRepository.getPath();
dataRoot = dataRoot + "/" + acct.account_number + ".txt";
Path path = Paths.get(dataRoot);
try(BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)){
writer.write(acct.toString());
writer.flush();
}
}
public String account_number() {
return account_number;
}
public void setAccount_number(String account_number) {
this.account_number = account_number;
}
public String phone_number() {
return phone_number;
}
public void setPhone_number(String phone_number) {
this.phone_number = phone_number;
}
public Address mailing_address() {
return mailing_address;
}
public void setMailing_address(Address mailing_address) {
this.mailing_address = mailing_address;
}
public EmailAddress email_address() {
return email_address;
}
public void setEmail_address(EmailAddress email_address) {
this.email_address = email_address;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((account_number == null) ? 0 : account_number.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Account other = (Account) obj;
if (account_number == null) {
if (other.account_number != null)
return false;
} else if (!account_number.equals(other.account_number))
return false;
return true;
}
}

View File

@@ -0,0 +1,57 @@
package lodge.reservationsystem;
import java.util.ArrayList;
public class AccountList extends ArrayList<Account> {
public static String accountSerial(String phone_number, Address mailing_address, EmailAddress email_address) {
return "A" + java.util.Objects.hash(phone_number, mailing_address, email_address);
}
public static Account newAccount(String phone_number, Address mailing_address, EmailAddress email_address) throws Exception {
Account A = new Account(AccountList.accountSerial(phone_number, mailing_address, email_address),
phone_number,
mailing_address,
email_address);
return A;
}
// ** Add account throw error if account number is pre-existing. */
public static Account addAccount(AccountList account_list, Account account) throws NullPointerException, AccountException {
String acctNumber = "";
for(Account acct: account_list){
if( acct.account_number() == account.account_number() ){
acctNumber = acct.account_number();
break;
}
}
if (!acctNumber.isEmpty()) {
throw new AccountException("Account exists, duplicates not allowed.");
} else {
account_list.add(account);
}
return account;
}
// save account in edit status
public void save(Account acct) {
}
// save accounts in edit status
public static void save(AccountList account_list, Account acct) throws Exception {
for (Account account : account_list) {
Account.Write(account);
}
}
// ** Find account return null not-existing. */
public static Account retrieveAccount(AccountList account_list, String account_number) {
for(Account acct: account_list){
if( acct.account_number() == account_number ){
return acct;
}
}
return null;
}
}

View File

@@ -0,0 +1,12 @@
package lodge.reservationsystem;
import java.util.ArrayList;
public class AccountReservationList {
ArrayList<Reservation> reservation_list = new ArrayList<Reservation>();
public void addReservation(Reservation reservation) {
reservation_list.add(reservation);
}
}

View File

@@ -0,0 +1,85 @@
package lodge.reservationsystem;
public final class Address {
String street;
String city;
String state;
String zip;
public Address(String street, String city, String state, String zip) {
this.street = street;
this.city = city;
this.state = state;
this.zip = zip;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getZip() {
return zip;
}
public void setZip(String zip) {
this.zip = zip;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((street == null) ? 0 : street.hashCode());
result = prime * result + ((city == null) ? 0 : city.hashCode());
result = prime * result + ((state == null) ? 0 : state.hashCode());
result = prime * result + ((zip == null) ? 0 : zip.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Address other = (Address) obj;
if (street == null) {
if (other.street != null)
return false;
} else if (!street.equals(other.street))
return false;
if (city == null) {
if (other.city != null)
return false;
} else if (!city.equals(other.city))
return false;
if (state == null) {
if (other.state != null)
return false;
} else if (!state.equals(other.state))
return false;
if (zip == null) {
if (other.zip != null)
return false;
} else if (!zip.equals(other.zip))
return false;
return true;
}
@Override
public String toString() {
return "Address [street=" + street + ", city=" + city + ", state=" + state + ", zip=" + zip + "]";
}
}

View File

@@ -0,0 +1,10 @@
package lodge.reservationsystem;
public final class CabinReservation extends Reservation {
//calculate and return the reservation's price
public float calculatePrice() {
return 0.0f;
}
}

View File

@@ -0,0 +1,19 @@
package lodge.reservationsystem;
public final class DataRepository {
// hard code data store location for storage of
// account data files on filesystem
private String directoryPath;
private static final DataRepository instance = new DataRepository();
public static DataRepository getInstance() {
return instance;
}
public static void setDataStoreRoot(String direcoryPath){
getInstance().directoryPath = direcoryPath;
}
public static String getPath() {
return getInstance().directoryPath;
}
}

View File

@@ -0,0 +1,48 @@
package lodge.reservationsystem;
public class EmailAddress{
String email_address;
public EmailAddress(String email_address) {
this.email_address = email_address;
}
public String getEmail_address() {
return email_address;
}
public void setEmail_address(String email_address) {
this.email_address = email_address;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((email_address == null) ? 0 : email_address.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
EmailAddress other = (EmailAddress) obj;
if (email_address == null) {
if (other.email_address != null)
return false;
} else if (!email_address.equals(other.email_address))
return false;
return true;
}
@Override
public String toString() {
return "EmailAddress [email_address=" + email_address + "]";
}
}

View File

@@ -0,0 +1,9 @@
package lodge.reservationsystem;
public final class HotelReservation extends Reservation {
//calculate and return the reservation's price
public float calculatePrice() {
return 0.0f;
}
}

View File

@@ -0,0 +1,9 @@
package lodge.reservationsystem;
public final class HouseReservation extends Reservation {
//calculate and return the reservation's price
public float calculatePrice() {
return 0.0f;
}
}

View File

@@ -0,0 +1,179 @@
package lodge.reservationsystem;
import java.time.ZonedDateTime;
public abstract class Reservation {
String reservation_number;
String physical_address;
String mailing_address;
ZonedDateTime reservation_start_date;
ZonedDateTime reservation_end_date;
ReservationStatus reservation_status;
Integer numberOfBeds;
Integer numberOfBedRooms;
Integer numberOfBathRooms;
Integer numberOfFloors;
Integer squareFeet;
Float price;
public String reservation_number() {
return reservation_number;
}
public void setReservation_number(String reservation_number) {
this.reservation_number = reservation_number;
}
public String physical_address() {
return physical_address;
}
public void setPhysical_address(String physical_address) {
this.physical_address = physical_address;
}
public String mailing_address() {
return mailing_address;
}
public void setMailing_address(String mailing_address) {
this.mailing_address = mailing_address;
}
public ZonedDateTime reservation_start_date() {
return reservation_start_date;
}
public void setReservation_start_date(ZonedDateTime reservation_start_date) {
this.reservation_start_date = reservation_start_date;
}
public ZonedDateTime reservation_end_date() {
return reservation_end_date;
}
public void setReservation_end_date(ZonedDateTime reservation_end_date) {
this.reservation_end_date = reservation_end_date;
}
public ReservationStatus reservation_status() {
return reservation_status;
}
public void setReservation_status(ReservationStatus reservation_status) {
this.reservation_status = reservation_status;
}
public Integer numberOfBeds() {
return numberOfBeds;
}
public void setNumberOfBeds(Integer numberOfBeds) {
this.numberOfBeds = numberOfBeds;
}
public Integer numberOfBedRooms() {
return numberOfBedRooms;
}
public void setNumberOfBedRooms(Integer numberOfBedRooms) {
this.numberOfBedRooms = numberOfBedRooms;
}
public Integer numberOfBathRooms() {
return numberOfBathRooms;
}
public void setNumberOfBathRooms(Integer numberOfBathRooms) {
this.numberOfBathRooms = numberOfBathRooms;
}
public Integer numberOfFloors() {
return numberOfFloors;
}
public void setNumberOfFloors(Integer numberOfFloors) {
this.numberOfFloors = numberOfFloors;
}
public Integer squareFeet() {
return squareFeet;
}
public void setSquareFeet(Integer squareFeet) {
this.squareFeet = squareFeet;
}
public Float price() {
return price;
}
public void setPrice(Float price) {
this.price = price;
}
public Reservation() {
numberOfBeds = 0;
numberOfBedRooms = 0;
numberOfBathRooms = 0;
numberOfFloors = 0;
price = 0.0f;
reservation_status = ReservationStatus.Draft;
}
public void Draft(){
this.reservation_status=ReservationStatus.Draft;
}
public void Cancel() {
this.reservation_status=ReservationStatus.Canceled;
}
public void Complete() {
this.reservation_status=ReservationStatus.Completed;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((reservation_number == null) ? 0 : reservation_number.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Reservation other = (Reservation) obj;
if (reservation_number == null) {
if (other.reservation_number != null)
return false;
} else if (!reservation_number.equals(other.reservation_number))
return false;
return true;
}
@Override
public String toString() {
return "Reservation [reservation_number=" + reservation_number + ", physical_address=" + physical_address
+ ", mailing_address=" + mailing_address + ", reservation_start_date=" + reservation_start_date
+ ", reservation_end_date=" + reservation_end_date + ", reservation_status=" + reservation_status
+ ", numberOfBeds=" + numberOfBeds + ", numberOfBedRooms=" + numberOfBedRooms + ", numberOfBathRooms="
+ numberOfBathRooms + ", numberOfFloors=" + numberOfFloors + ", squareFeet=" + squareFeet + ", price="
+ price + "]";
}
public float calculatePricePerNight(){
return 0.0f;
}
public abstract float calculatePrice();
}

View File

@@ -2,7 +2,7 @@ package lodge.reservationsystem;
public enum ReservationStatus {
Draft,
Completed,
Finished
Canceled,
Completed
}

BIN
src/lib/gson-2.13.1.jar Normal file

Binary file not shown.

View File

@@ -1,74 +0,0 @@
package lodge;
import lodge.reservationsystem.Account;
import lodge.reservationsystem.Address;
import lodge.reservationsystem.EmailAddress;
//import lodge.reservationsystem.Address;
//import lodge.reservationsystem.EmailAddress;
import lodge.reservationsystem.ReservationSystemManager;
public final class TestReservations {
public static void main(String[] args) throws Exception {
ReservationSystemManager mgr = new ReservationSystemManager();
mgr.setDataStoreRoot("~/data");
// 1. Get the list of loaded accounts from Manager
mgr.loadAll();
// 2. Retrieve a loaded account object that matches a specific account number
mgr.retrieveAccount("A######");
// 3. Add new account object to the list managed by Manager (if account object
// already exists on add action with the same account number, it is considered
// an error)
mgr.newAccount( "456-7890", new Address(), new EmailAddress() );
// 4. Request that Manager updates specific accounts files with data stored in
// memory
// 5. Add draft lodging reservation to an account (if reservation object already
// exists with the same reservation number, it is considered an error)
Account acct = mgr.retrieveAccount("A######");
mgr.UpdateAccount( mgr.retrieveAccount("A######") );
/* if (acct != null)
acct.addReservation(new HotelReservation());
// 6. Complete reservation that is associated with an account
Reservation rsrv = null;
acct = null;
acct = mgr.retrieveAccount("A######");
if (acct != null) {
rsrv = acct.retrieve("?######");
rsrv.Complete();
}
// 7. Cancel reservation that is associated with an account
if (acct != null) {
rsrv = acct.retrieve("?######");
if (rsrv != null)
rsrv.Cancel();
}
if (rsrv != null) {
// 8. Change reservation values that can be changed (if reservation is
// cancelled, completed, or for past date, it is considered an error)
rsrv = Reservation.update(rsrv);
// 9. Request for price per night to be calculated and returned for a specific
// reservation
rsrv = Reservation.calculatePricePerNight(rsrv);
// 10. Request for total reservation price to be calculated and returned for a
// specific reservation
} */
System.out.println("Program Completed.");
}
}

View File

@@ -1,61 +0,0 @@
package lodge.reservationsystem;
import java.util.ArrayList;
public final class Account {
String anumber;
ArrayList<Reservation> reservation_list = new ArrayList<Reservation>();
String phone_number;
Address mailing_address;
EmailAddress email_address;
public String getAnumber() {
return anumber;
}
public void setAnumber(String account_number) {
this.anumber = account_number;
}
public String toString() {
return super.toString();
}
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj.getClass() != this.getClass()) {
return false;
}
final Account other = (Account) obj;
if ((this.getAnumber() == null) ? (other.getAnumber() != null)
: !this.getAnumber().equals(other.getAnumber())) {
return false;
}
return true;
}
public int hashCode() {
return java.util.Objects.hash(getAnumber());
}
public void addReservation(Reservation reservation) {
reservation_list.add(reservation);
}
public static Account newAccount(String phone_number, Address mailing_address, EmailAddress email_address)
throws Exception {
Account A = new Account();
A.anumber = "A" + java.util.Objects.hash(phone_number, mailing_address, email_address);
A.phone_number = phone_number;
A.mailing_address = mailing_address;
A.email_address = email_address;
return A;
}
}

View File

@@ -1,34 +0,0 @@
package lodge.reservationsystem;
import java.util.ArrayList;
import java.util.Optional;
public class Accounts extends ArrayList<Account> {
// ** Add account throw error if account number is pre-existing. */
public Account addAccount(Accounts account_list, Account account) throws NullPointerException, Exception {
if (account_list.stream().map(Account::getAnumber).count() > 0) {
throw new AccountException("Account exists, duplicates not allowed.");
} else {
account_list.add(account);
}
return account;
}
// save account in edit status
public void save(Account acct) {
}
// save accounts in edit status
public static void save(Accounts account_list, Account acct) {
}
// ** Find account return null not-existing. */
public static Account retrieveAccount(Accounts account_list, String account_number) {
Optional<Account> account = account_list.stream().filter(e -> e.getAnumber() == account_number).findFirst();
return account.isPresent() ? account.get() : null;
}
}

View File

@@ -1,47 +0,0 @@
package lodge.reservationsystem;
public class Address implements Cloneable {
public String street;
public String city;
public String state;
public String zip;
// format and return object's data in XML format
public String toString() {
return null;
}
// create and return a copy of the object
public Address clone() throws CloneNotSupportedException {
Address result = new Address();
result.street = this.street;
result.city = this.city;
result.state = this.state;
result.zip = this.zip;
return result;
}
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj.getClass() != this.getClass()) {
return false;
}
final Account other = (Account) obj;
return hashCode() == other.hashCode();
}
public int hashCode() {
return java.util.Objects.hash(street, city, state, zip);
}
}

View File

@@ -1,21 +0,0 @@
package lodge.reservationsystem;
public class CabinReservation extends Reservation {
//format and return object's data in XML format
public String toString() {
return null;
}
//create and return a copy of the object
public CabinReservation clone() throws CloneNotSupportedException {
CabinReservation result = new CabinReservation();
return result;
}
//calculate and return the reservation's price
public float calculatePrice() {
return 0.0f;
}
}

View File

@@ -1,6 +0,0 @@
package lodge.reservationsystem;
public class EmailAddress implements Cloneable{
String email_address;
}

View File

@@ -1,21 +0,0 @@
package lodge.reservationsystem;
public class HotelReservation extends Reservation {
//format and return object's data in XML format
public String toString() {
return null;
}
//create and return a copy of the object
public HotelReservation clone() throws CloneNotSupportedException {
HotelReservation result = new HotelReservation();
return result;
}
//calculate and return the reservation's price
public float calculatePrice() {
return 0.0f;
}
}

View File

@@ -1,21 +0,0 @@
package lodge.reservationsystem;
public class HouseReservation extends Reservation {
//format and return object's data in XML format
public String toString() {
return null;
}
//create and return a copy of the object
public HotelReservation clone() throws CloneNotSupportedException {
HotelReservation result = new HotelReservation();
return result;
}
//calculate and return the reservation's price
public float calculatePrice() {
return 0.0f;
}
}

View File

@@ -1,76 +0,0 @@
package lodge.reservationsystem;
import java.time.ZonedDateTime;
public abstract class Reservation implements Cloneable {
String reservation_number;
String physical_address;
String mailing_address;
ZonedDateTime reservation_start_date;
ZonedDateTime reservation_end_date;
ReservationStatus reservation_status = ReservationStatus.Draft;
Integer numberOfBeds = 0;
Integer numberOfBedRooms = 0;
Integer numberOfBathRooms = 0;
Integer squareFeet = 0;
Float price = 0.0f;
// format and return object's data in XML format
public String toString() {
return null;
}
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj.getClass() != this.getClass()) {
return false;
}
final Reservation other = (Reservation) obj;
if ((reservation_number == null) ? (other.reservation_number != null)
: !reservation_number.equals(other.reservation_number)) {
return false;
}
return true;
}
public int hashCode() {
return java.util.Objects.hash(reservation_number);
}
// create and return a copy of the object
public abstract Reservation clone() throws CloneNotSupportedException;
public void Cancel() throws Exception {
}
public void Complete() throws Exception {
}
// public Reservation retrieve( ArrayList<Reservation> reservation_list, String reservation_number) {
// Optional<Reservation> reservation = reservation_list.stream()
// .filter(e -> e.reservation_number == reservation_number).findFirst();
// return reservation.isPresent() ? reservation.get() : null;
// }
public static Reservation update(Reservation rsrv) {
return rsrv;
}
public static Reservation calculatePricePerNight(Reservation rsrv) {
return rsrv;
}
}

View File

@@ -1,41 +0,0 @@
package lodge.reservationsystem;
public class ReservationSystemManager {
Accounts account_list = new Accounts();
// hard code data store location for storage of
// account data files on filesystem
String DATASTOREROOT = "";
public String getDataStoreRoot() {
return DATASTOREROOT;
}
public void setDataStoreRoot(String filePath) {
DATASTOREROOT = filePath;
}
public void loadAll(){
}
public Account retrieveAccount(String acct_id){
return Accounts.retrieveAccount( account_list, acct_id );
}
public void UpdateAccount(Account acct) {
Accounts.save(account_list, acct);
}
public final Account newAccount(String phone_number, Address mailing_address, EmailAddress email_address){
Account acct = null;
try {
acct = Account.newAccount(phone_number, mailing_address, email_address);
} catch (Exception e) {
e.printStackTrace();
}
Accounts.save(account_list, acct);
return acct;
}
}

View File

@@ -1,3 +0,0 @@
module lodge {
exports lodge.reservationsystem;
}