// GuestDatabase.C

#include <iostream.h>
#include "bool.h"
#include "prompt.h"
#include "IOStuff.h"
#include "GuestDatabase.h"
#include "GuestRegister.h"

static GuestRegister guestDB;

void AddGuest()
{
  GuestInfo g;

  prompt("Guest name? ");
  cin >> g.name;

  Boolean found;
  guestDB.SearchFor(g.name, found, g);
  if (found) {
    cerr << "Already registered as:\n"
         << g;
  } else {
    prompt("address (on one line)? ");
    cin >> g.address;

    prompt("room number? ");
    cin >> g.roomNumber;
    cin.ignore(100, '\n');

    g.charges = 0.0;

    guestDB.Insert(g);
  }
}

void PrintSortedGuestList()
{
  guestDB.InOrderPrint();
}

void SearchForGuest()
{
  String name;

  prompt("Guest name? ");
  cin >> name;

  GuestInfo g;
  Boolean found;
  guestDB.SearchFor(name, found, g);
  if (found) {
    cout << g;
  } else {
    cerr << "Error: guest " << name
         << " not found!" << endl;
  }
}

void DeleteGuest()
{
  String name;

  prompt("Guest name? ");
  cin >> name;

  Boolean found;
  guestDB.Delete(name, found);

  if (!found) {
    cerr << "Error: guest " << name
         << " not found!" << endl;
  }
}
