public void UpdateReservationProcessInfo(ReservationProcessInfoItem item)
        {
            var rpi = Session.Get <ReservationProcessInfo>(item.ReservationProcessInfoID);

            if (rpi != null)
            {
                if (item.ProcessInfoLineID == 0)
                {
                    // Delete the record.
                    // This happens when an existing record is changed to "None" (i.e. removed).
                    Session.Delete(rpi);
                    return;
                }
            }
            else
            {
                // Insert a new record if it doesn't exist.
                // This happens when a reservation is modified and an addtional process info is selected.
                rpi = new ReservationProcessInfo()
                {
                    ProcessInfoLineID = item.ProcessInfoLineID,
                    ReservationID     = item.ReservationID
                };

                Session.Save(rpi);

                item.ReservationProcessInfoID = rpi.ReservationProcessInfoID;
            }

            // still here?

            if (item.ProcessInfoLineID != rpi.ProcessInfoLineID)
            {
                // This happens when the ProcessInfo is changed to different ProcessInfoLine
                rpi.ProcessInfoLineID = item.ProcessInfoLineID;
            }

            rpi.Value            = item.Value;
            rpi.Special          = item.Special;
            rpi.RunNumber        = item.RunNumber;
            rpi.ChargeMultiplier = item.ChargeMultiplier;
            rpi.Active           = item.Active;

            Session.Update(rpi);
        }
        public void InsertReservationProcessInfo(ReservationProcessInfoItem item)
        {
            // This happens when a new reservation is created.

            ReservationProcessInfo rpi = null;

            if (item.ProcessInfoLineID > 0)
            {
                rpi = new ReservationProcessInfo()
                {
                    ProcessInfoLineID = item.ProcessInfoLineID,
                    ReservationID     = item.ReservationID,
                    Value             = item.Value,
                    Special           = item.Special,
                    RunNumber         = item.RunNumber,
                    ChargeMultiplier  = item.ChargeMultiplier,
                    Active            = item.Active
                };

                Session.Save(rpi);

                item.ReservationProcessInfoID = rpi.ReservationProcessInfoID;
            }
        }
 public void InsertReservationProcessInfo(ReservationProcessInfoItem item)
 {
     throw new NotImplementedException();
 }