public static IList GetMemorialBookingEditView(int journalEntryId)
        {
            IDalSession session = NHSessionFactory.CreateSession();
            ArrayList editViews = new ArrayList();

            try
            {
                IMemorialBooking memorialBooking = getMemorialBooking(session, journalEntryId);
                if (memorialBooking != null)
                {
                    if (memorialBooking.Status != JournalEntryStati.New)
                        throw new ApplicationException("Transaction Date cannot be edited because the Memorial Booking has been already booked.");

                    MemorialBookingEditView memorialBookingEditView = new MemorialBookingEditView(journalEntryId);
                    memorialBookingEditView.TransactionDate = memorialBooking.TransactionDate;
                    memorialBookingEditView.Description = memorialBooking.Description;
                    memorialBookingEditView.ExRate = memorialBooking.ExchangeRate;

                    editViews.Add(memorialBookingEditView);
                }
            }
            finally
            {
                session.Close();
            }

            return editViews;
        }
        public static void UpdateMemorialBooking(MemorialBookingEditView memorialBookingEditView)
        {
            IDalSession session = NHSessionFactory.CreateSession();

            try
            {
                IMemorialBooking memorialBooking = getMemorialBooking(session, memorialBookingEditView.JournalEntryId);

                if (memorialBooking.Status != JournalEntryStati.New)
                    throw new ApplicationException("Memorial Booking cannot be updated because it has been already booked.");

                memorialBooking.TransactionDate = memorialBookingEditView.TransactionDate;
                memorialBooking.Description = memorialBookingEditView.Description.Trim();

                JournalEntryMapper.Update(session, memorialBooking);
            }
            finally
            {
                session.Close();
            }
        }