// Deletes the specified chair
        public bool DeleteChair(Chair chair)
        {
            Program            app                = Program.GetInstance();
            Database           database           = app.GetDatabase();
            ReservationService reservationService = Program.GetInstance().GetService <ReservationService>("reservations");

            // Find record
            ChairRecord record = database.chairs.SingleOrDefault(i => i.id == chair.id);

            if (record == null)
            {
                return(false);
            }

            // Remove record and related reservations
            database.chairs.Remove(record);

            foreach (Reservation reservation in reservationService.GetReservationsByChair(chair))
            {
                reservationService.DeleteReservation(reservation);
            }

            // Try to save
            database.TryToSave();

            return(true);
        }
 public Chair(ChairRecord record)
 {
     id     = record.id;
     roomId = record.roomId;
     row    = record.row;
     number = record.number;
     price  = record.price;
     type   = record.type;
 }
        // Saves the specified user
        public bool SaveChair(Chair chair)
        {
            Database database = Program.GetInstance().GetDatabase();
            bool     isNew    = chair.id == -1;

            // Validate and add if valid
            if (!chair.Validate())
            {
                return(false);
            }

            // Set id if its a new user
            if (isNew)
            {
                chair.id = database.GetNewId("chairs");
            }

            // Find existing record
            ChairRecord record = database.chairs.SingleOrDefault(i => i.id == chair.id);

            // Add if no record exists
            if (record == null)
            {
                record = new ChairRecord();
                database.chairs.Add(record);
            }

            // Update record
            record.id     = chair.id;
            record.roomId = chair.roomId;
            record.row    = chair.row;
            record.number = chair.number;
            record.price  = chair.price;
            record.type   = chair.type;

            // Try to save
            database.TryToSave();

            return(true);
        }