Fixed the Donor Recipient History screen so that the grid auto-sizes like the other screens.  Also applied tool tips to the header row becuase this screen has a large number of columns.
Christian and I realised that our validation for NULL columns was incorrect (after all this time!).  This fixes the issue by re-ordering the code.  The order now for recognising the need for a NULL check is 1. Do the check for a Date first because that can handle a Date? so it does the check for a valid non-NULL date in one go without the need for an enclosing if().  2. Do the check for a NULL for all other types without any enclosing if().  3. If the type is a String and part of a primary key, do a check for empty string - but wrap inside an if().
Added protection against a type mis-match when iterating round a loop of VerificationResults that might not all be ScreenVerificationResults
Just a text change to a message concerning inactive accounts.  Changed the word from invalid to inactive.
As part of the import work I have replaced the message label with a message textbox so it can get scrollbars if the message becomes too long.  Also I have made the box centre vertically on the screen and I can limit the overall height of the box so that it does not run off the bottom of the screen.  All this was done to help with finance imports where we can generate a lot of message text.  The screen can now be re-sized at will and the scrool bars come and go but the message stays in a good place.
Just added a wait cursor while batches are loading.
Fixed a typo that must have been there for ages but had the wrong delegate name!
Just a detail change to GetCurrentPostingRangeDates() so that it can use an existing transaction rather than always using a new one.
This is the work to improve Imprting of Gift and GL.  I have incorporated all the standard Validation and manual Validation that we now have access to.  I have re-visited all the generation of messages.  We now can read the whole file searching for errors and report them.  (If there are more than 100 messages then we do abandon the file and report the first 100).  There are almost no exceptions thrown, which tthere used to be, and which of course stop the import immediately.  This was not correct just for simple mistakes.  Messages are now in a common style.  Validation is at 5 levels: parsing, standard auto-genertaed validation, additional manual validation, additional manual import validation and finally handling of sql insert/update errors.  I probably have not finished but this is a big check-in of the work so far.  I need to do a merge from trunk next.
Uncrustify the recent changes
Merge from trunk - 3 minor conflicts that I think I have resolved in server/Gift.Transactions  server/Gift.Importing and in client/UC_GiftBatches.ManualCode
These changes fix my issues arising from the recent merge conflicts.
More work on importing.  This commit includes dealing with 'foreign' currency imports.  We now add rows to the Daily Exchange Rate table and compare with the Corporate Rate table.
Added code that writes to the Daily Exchange Rate table for International currency amounts.
A tweak to the tests that import gifts.  The import file failed validation now that the additional validation is present.
Uncrustify - why so many??
Two more changes to the test suite to make sure that the effective date of the test batch is in the allowable period.  This issue has come about because up to now the ytests all used a date in 2010.  But this did not matter because the import validation code was programmed to force the file date into a valid date for the ledger.  Now in the new import code there is no fiddling with the date in the background without telling the user.  So the tests have been failing.  (Not many of them though).  This is now better because the tests all use dates that are 'current'.
Fix three Linux Jenkins build warnings about unused variables and a mistake with a comment
Modified the file comments because uncrustify always insists on making changes to them - adding a load of blank comment lines every time we check in changes.  I am going to check this in and then try uncrustify again and see if it remains the same.
Ok - this was a valid uncrustify of my changes - but I think this is going to fix it.