/// <summary>
 /// Add a new client
 /// </summary>
 /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
 /// <param name="client">client details</param>
 /// <param name="person">Person details</param>
 /// <param name="organisation">Organisation details</param>
 /// <param name="addresses">Addresses</param>
 /// <param name="addressInformation"></param>
 /// <returns></returns>
 public ClientReturnValue AddClient(HostSecurityToken oHostSecurityToken, Client client,
     Person person,
     Organisation organisation,
     List<Address> addresses,
     List<AdditionalAddressElement> addressInformation)
 {
     ClientReturnValue returnValue = null;
     try
     {
         if (Functions.ValidateIWSToken(oHostSecurityToken))
         {
             oClientService = new ClientService();
             returnValue = oClientService.AddClient(Functions.GetLogonIdFromToken(oHostSecurityToken), client, person, organisation, addresses, addressInformation);
         }
         else
         {
             returnValue = new ClientReturnValue();
             returnValue.Success = false;
             returnValue.Message = "Invalid Token";
         }
     }
     catch (Exception ex)
     {
         returnValue = new ClientReturnValue();
         returnValue.Success = false;
         returnValue.Message = ex.Message;
     }
     return returnValue;
 }