private void AddNonInvoiceSellingDispatcherExpenses(int bookingId, string containerNo)
        {
            // Search for expenses that matches dispatcher id.
            DispatcherRequestLibrary        dispathcerRequestLib = new DispatcherRequestLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
            IEnumerable <DispatcherRequest> dispatcherReqs       = dispathcerRequestLib.GetDispatcherByBookingAndContainerNo(bookingId, containerNo, new string[] { "Booking_Ref_No", "Container" });

            foreach (DispatcherRequest dispatcherReq in dispatcherReqs)
            {
                ExpensesRequestLibrary lib             = new ExpensesRequestLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                string refTableName                    = new Model.DispatcherRequest().GetType().Name;
                IEnumerable <ExpensesRequest> expenses = lib.GetAllPurchasingExepneseByRefTableAndRefId(dispatcherReq.ID, refTableName, new[] { "Payment", "Paid_Party_To", "Invoice" });
                foreach (var item in expenses)
                {
                    // If expense already exists.
                    if (TempEntityList.FirstOrDefault(m => m.ID == item.ID) == null)
                    {
                        // If party is null.
                        if (item.Paid_Party_To == null)
                        {
                            item.Paid_Party_To = new Party();
                        }

                        // Add to TempList.
                        TempEntityList.Add(item);
                    }
                }
            }
        }
        protected override void ChildGrid_OnModified(Container entity)
        {
            if (entity.ID > 0 && entity.TransferBooking != null && entity.TransferBooking.ID > 0 && entity.Booking.ID != entity.TransferBooking.ID)
            {
                // Update dispatcher booking Id
                DispatcherRequestLibrary        dispathLib     = new DispatcherRequestLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                IEnumerable <DispatcherRequest> dispatcherReqs = dispathLib.GetDispatcherByBookingAndContainerNo(entity.TransferBooking.ID, entity.Container_No,

                                                                                                                 new string[] { "TruckingCompany", "Driver", "Booking_Ref_No", "Purchase_Order_No", "Party", "Location", "Shipper", "Sales_Order_No", "Asset", "Container" });
                DispatcherRequest dispatcherReq = dispatcherReqs.FirstOrDefault();
                if (dispatcherReq != null)
                {
                    dispatcherReq.Booking_Ref_No.ID = entity.Booking.ID;
                    dispathLib.Modify(dispatcherReq, new string[] { "TruckingCompany", "Driver", "Booking_Ref_No", "Purchase_Order_No", "Party", "Location", "Shipper", "Sales_Order_No", "Asset" });
                }
                entity.Booking.ID = entity.TransferBooking.ID;
            }
        }