Tag Archives: API

Documenting VB.NET and C# Code

If you are using VB6 then you are possibly somewhat limited as to the way you can document your code and then have it published automatically. (I say that from complete ignorance and somebody is very welcome to show me otherwise). However in VB.NET and C# there is the built in XML documentation. In both languages you simply place the cursor the line above the field, property, method or class that you wish to document. In VB.NET you type: Continue reading Documenting VB.NET and C# Code

Customizations, SDKs and API’s, Oh RE

If you recognise the title of this post then I was inspired by a BlackbaudKnowHow article of a similar name. In that article the author describes the differences between the three terms and how they relate to Blackbaud Enterprise CRM. This is a good overview and works well for Blackbaud Enterprise CRM. However it breaks down when talking about The Raiser’s Edge 7.

Continue reading Customizations, SDKs and API’s, Oh RE

Bank Checking Software Compared

I have been working with different bank checking software. Blackbaud Europe have written a plug-in for The Raiser’s Edge to update the bank record data such as the name and branch of the bank as well as the address based on the sort code. We recently developed a plug-in that processed the direct debit returns and unpaids from BACS and update the recurring gifts accordingly. In some cases a new bank would need to be created. I was asked to integrate the plug-in with their Blackbaud written plug-in.

Continue reading Bank Checking Software Compared

Valid date to cannot be less than Valid date from when saving a Raiser’s Edge Membership record

Valid date to cannot be less than Valid date from

I got this error message the other day when developing with the membership module. In my opinion the membership module is the most complicated module to develop code for. Possibly because of this (and the fact that it is an optional module) there appears to be the least documentation about it. When I searched the knowledgebase for this error I did get a hit. It referred to NetSolutions. It suggested that the membership record did not have an expiry date.

This was not the case in my data. I had an activity date and an expiry date as required.

I worked out what the problem was. The issues happened when adding a membership card. I share this code between new memberships and a case where you may want to add a new membership card to an existing transaction. For a new membership card I was setting the card date as the same as the transaction date. The expiry date, by default was being set to the same as the membership’s expiry date. This worked fine for new memberships.

When I went to add a membership card to, say, a lapsed membership, (why this would happen in reality is uncertain but it was happening in my case), the start date was set to the transaction date i.e. today but the expiry date was in the past so the card’s expiry date was also in the past.

I checked for this scenario and set the membership card’s start date to one day before the expiry date if the expiry date was not after the start date.

A Raiser’s Edge C# Plugin

A few days ago I put a question on both Blackbus and the official Blackbaud forums asking if anybody had written a plug-in in C#. I have written a number of customisations in C# (VB.NET is my most common programming language – although I do enjoy using C#) but I had never written a plug-in before. It has always been a web service of application of some kind. I managed to work out how to do it and thought that I would share my solution here. Continue reading A Raiser’s Edge C# Plugin

The Problem with Quick Find

I have been working on a new product which will hopefully be released soon. In this new product the user needs to be able to look up a constituent in as few key strokes as possible. The approach that I took was to use the same functionality as the Quick Find mechanism that you see on the records page in The Raiser’s Edge. This is dependant on your user settings so that you can either put in a constituent id, the first name followed by the surname or the surname comma the first name. While I was testing it on the sample database it worked perfectly. However when I tested it on a client’s very large database there were issues. Continue reading The Problem with Quick Find