I am a mixture of sadness and happiness to find out that my new colleague Tom Hollander, of Enterprise Library fame is leaving p&p. Tom is an icon in the developer community and his leaving will be a great loss. In addition to being the primary driver of several releases of Entlib and our GAT/GAX platform, Tom invests a huge portion of his time working with our customers and the developer community.

Whether its diving into the forums, doing web casts,  writing tools after hours, or meeting customers face to face,  Tom always ensures that the community and our customers are thoroughly satisfied.

He is and always will be, Mr Entlib.

In tribute, I decided a little bit of extremely corny pre-PIAB / VAB Entlib code would be appropriate...

static void main {
   try {
      Employee pdm = FindProductManager("Tom Hollander");
   }
   catch (SwitchedJobsException ex) {
      if (ExceptionPolicy.HandleException(ex, "Switched Jobs Policy"))
         throw ex;
      LogEntry log = new LogEntry();
      log.Message = string.Format("Bye {0}, Good luck on your next venture, we'll miss you!", pdm.Name);
      Logger.Write(log);
      pdm = FindReplacement(pdm);
   }
   pdm.PlanNextEntLibVersion();
}

static Employee FindProductManager(string name) {
   Database db = DataBaseFactory.CreateDatabase("p&p Team");
   DataTable employeeTable = db.ExecuteDataSet("GetProductManagers")["Employee"];
   Employee pdm = new Employee(employeeTable.select(string.format("Name = '{0}'", name)[0]);

   if (pdm.SwitchedJobs)
      throw new SwitchedJobsException(pdm);

   return pdm;
}