Archive

Archive for September, 2018

#Javascript Error handling with #Chakra in C#

September 21, 2018 Leave a comment

Chakras Woman Rainbow Background

Microsoft’s ChakraCore DLL allows you run Javascript within C# applications using IE’s Javascript interpreter, without having to spawn an exernal process like PhantomJS. This has great applications for situations where you might want to evaluate a user-provided mathematical equation, perhaps like within a spreadsheet, or a statistical application.

The Hello world example can be cloned from Github here; https://github.com/Microsoft/Chakra-Samples/tree/master/ChakraCore%20Samples/Hello%20World/Windows/C%23

You’ll also need to get the built version of the DLL from Nuget here;

Install-Package Chakra.Core

I noticed that I had to copy the DLL from bin\x86 into the bin folder when running an application as 32 bit (A console app), and copy bin\x64 into the bin folder when running under IIS (64 bit)

One thing that I had to build myself in the C# code, was error handling. If the Javascript expression was buggy, then the result was null, with no information about why the Javascript had failed (for example, I noticed that btoa() and atob() were missing in Chakra – for base64 encoding/decoding).

So, to capture the error message, you need to add the following lines after RunScript

varerror = Native.JsRunScript(script, currentSourceContext++, “”, outresult);
JavaScriptValueexception;
Native.JsGetAndClearException(outexception);
JavaScriptValueexceptionString;
Native.JsConvertValueToString(exception, outexceptionString);
varstrEx = JavascriptValueToString(exceptionString);

Where JavascriptValueToString is defined as follows;

private static string JavascriptValueToString(JavaScriptValuevalue)
{
// Project script result in JS back to C#.
IntPtr resultPtr;
UIntPtr stringLength;
Native.JsStringToPointer(value, outresultPtr, outstringLength);
stringresultString = Marshal.PtrToStringUni(resultPtr);
return resultString;
}
Advertisements
Categories: Uncategorized

Database mail not working from #SQL server (fixed)

September 17, 2018 Leave a comment

Picture1

Database mail allows you send email from SQL server, which is handy to report the status of jobs. It’s easy to set up, if you expand  Management, select Configure Database Mail, to set your SMTP credentials. Then press send Test Email to check it works.

If it doesn’t work, then, here was a issue I ran in to; if you run

EXEC msdb.dbo.sysmail_help_queue_sp

And both queues are marked as INACTIVE, then you may be missing .NET 3.5 from your server,

903417

You can add .NET 3.5 via server managment, Add Roles and Features Wizard.

You may need to restart your SQL server service after installation.

Categories: Uncategorized

Car registration #API for #Colombia launched

September 12, 2018 Leave a comment

colombia-540x380

Colombia is one of the largest automotive markets in South America, after Brazil and Argentina.

At the end of 2017 there were 13 million vehicles in Colombia, according to data from the Ministry of Transportation and the automotive association Andemos. Of those, 912,142 were registered for transportation (freight and passenger) and 7.4 million were motorcycles (57%). Not including motorcycles, 83% of Colombian vehicles are for private use, 16% are in public service, and one percent is for official use (7). According to research conducted by Business Monitor International in 2017, Colombia’s car ownership is still far from reaching saturation point. [Source: Export.gov]

We have launched an API that can return vehicle details from a number plate registered in Colombia at http://co.placaapi.com 

Car registration plates in Colombia use the /CheckColombia  endpoint and return the following information:

  • Make & Model
  • Age
  • VIN
  • Insurance details
  • Owner

Sample Registration Number:

HBK482

Sample Json:

{

 “Description”: “FORD ECOSPORT [2] SE TP 2000CC 4X2”,

 “CarMake”: “FORD”,

 “CarModel”: “ECOSPORT [2] SE TP 2000CC 4X2”,

 “EngineSize”: “1999”,

 “NumberOfDoors”: “0”,

 “FuelType”: “COMBUSTIBLE SIN ESPECIFICAR”,

 “Vin”: “9BFZB55F6F8517816”,

 “VehicleType”: “CAMPEROS Y CAMIONETAS”,

 “MotorCode”: “AOJAF8517816”,

 “RegistrationYear”: “2015”,

 “ImageUrl”: “http://co.placaapi.com/image.aspx/@Rk9SRCBFQ09TUE9SVCBbMl0gU0UgVFAgMjAwMENDIDRYMg==”,

 “Insurance”: {

   “InsuranceCompany”: “SURAMERICANA”,

   “PolicyNumber”: “40006946171”,

   “FasecoldaCode”: “03006130”,

   “ValidityEndDate”: “03/06/2018 00:00:00”,

   “ValidityStartDate”: “03/06/2017 00:00:00”,

   “DocumentId”: “79643987”,

   “DocumentType”: “CC”,

   “Owner”: “JARAMILLO RUBIO  WILLIAM”

 }

}

 

Categories: Uncategorized

Car Registration #API in #Ecuador launched

September 10, 2018 Leave a comment

quito-main

Ecuador is a country with almost 2 million vehicles registered via the AMT, and we now offer an API that allows users query the make, model and age of a vehicle registered in Ecuador, via it’s number plate, at the website ec.placaapi.com

Car registration plates in Ecuador use the /CheckEcuador  endpoint and return the following information:

  • Make & Model
  • Age
  • Representative image

Sample Registration Number:

PBU2742

Sample Json:

{

 “Description”: “JEEP RENEGADE”,

 “CarMake”: {

   “CurrentTextValue”: “JEEP”

 },

 “CarModel”: {

   “CurrentTextValue”: “RENEGADE”

 },

 “MakeDescription”: {

   “CurrentTextValue”: “JEEP”

 },

 “ModelDescription”: {

   “CurrentTextValue”: “RENEGADE”

 },

 “Year”: “1979”,

 “Type”: “LIVIANO”,

 “Subtype”: “AUTOMOVIL 4 TIEMPOS”,

 “ImageUrl”: “http://ec.placaapi.com/image.aspx/@SkVFUCBSRU5FR0FERQ==”

}

This brings our south american coverage to the following countries:

Categories: Uncategorized

Car registration #API launched in #Bolivia

September 6, 2018 Leave a comment

bolivia-pic-2

Bolivia has a relatively low motor vehicles per capita ratio of only 70 vehicles per 1,000, – meaning the total road population would be only 762,000 – however, for businesses selling into Bolivia, having an API that can quickly and accurately determine the make, model, colour, age, and policy number is a great time saver for users. – We’ve just launched our bolivian website today on http://bo.placaapi.com

Car registration plates in Bolivia  use the /CheckBolivia endpoint and return the following information:

  • Make & Model
  • Age
  • Representative image
  • Policy Number
  • Colour
  • and more…

Sample Registration Number:

3054SXI

Sample Json:

{

 “Description”: “FORD FIESTA”,

 “RegistrationYear”: “2014”,

 “CarMake”: {

   “CurrentTextValue”: “FORD”

 },

 “CarModel”: {

   “CurrentTextValue”: “FIESTA”

 },

 “MakeDescription”: {

   “CurrentTextValue”: “FORD”

 },

 “ModelDescription”: {

   “CurrentTextValue”: “FIESTA”

 },

 “Policy”: “140447810”,

 “Class”: “AUTOMOVIL”,

 “Country”: “MEXICO”,

 “Service”: “PARTICULAR”,

 “Drive”: “4 X 2 (SIMPLE)”,

 “CC”: “1600”,

 “Colour”: “ROJO METALICO”,

 “Body”: “–“,

 “Load”: “0”,

 “Doors”: “5”,

 “Location”: “LA PAZ”,

 “VehicleType”: “REEMPLACADO”,

 “ImageUrl”: “http://bo.placaapi.com/image.aspx/@Rk9SRCBGSUVTVEE=”

}

 

Categories: Uncategorized

Car Registration #API in Peru

September 4, 2018 Leave a comment

1390492049_large

Does your business sell car parts, car services, car insurance, or used cars in Peru? this API will save your users time, and give you more accurate information about the car that the user owns, or intends to purchase.

You can open a free account at http://pe.placaapi.com/ – and get 10 free credits to search for number plates registered in Peru. The data returned will include the make, model, VIN, age, and current owner of the vehicle.

Car registration plates in Peru use the /CheckPeru  endpoint and return the following information:

  • Make & Model
  • Age
  • Representative image
  • Owner
  • VIN number

Sample Registration Number:

B6U175

Sample Json:

{

 “Description”: “HYUNDAI TUCSON”,

 “RegistrationYear”: “2012”,

 “CarMake”: {

   “CurrentTextValue”: “HYUNDAI”

 },

 “CarModel”: {

   “CurrentTextValue”: “TUCSON”

 },

 “MakeDescription”: {

   “CurrentTextValue”: “HYUNDAI”

 },

 “ModelDescription”: {

   “CurrentTextValue”: “TUCSON”

 },

 “DeliveryPoint”: “ASOCIACIÓN AUTOMOTRIZ DEL PERÚ – LIMA”,

 “Date”: “10/05/2012 16:18:48”,

 “VIN”: “KMHJT81BBCU481538”,

 “Make”: “HYUNDAI”,

 “Model”: “TUCSON”,

 “Owner”: “TOKASHIKI TOKASHIKI JENNY / CORNEJO CORRALES CARLOS ALFREDO”,

 “Use”: “Vehiculos Particulares ( Categoria M )”,

 “ImageUrl”: “http://pe.placaapi.com/image.aspx/@SFlVTkRBSSBUVUNTT04=”

}

Categories: Uncategorized

Connect to #Microsoft #SQL server from #Node

September 1, 2018 Leave a comment

Screen Shot 2018-09-01 at 19.44.32

Yes, it’s possible to connect to Microsoft SQL Server from Node JS, even on a Mac OSX environment.

First, install msssql via NPM as follows

npm install mssql

Then, you can write some node code as follows;

const sql = require(‘mssql’)

const config = {
user: ‘xxxxx’,
password: ‘xxxxx’,
server: ‘yoursqlserver.com’,
database: ‘master’,
options: {
encrypt: true
}
}
sql.connect(config, err => {
console.log(err);
new sql.Request().query(‘select @@version’, (err, result) => {
console.dir(result)
});
});

sql.on(‘error’, err => {
console.log(err);
});

Which, in my case gives the output;

{ recordsets: [ [ [Object] ] ],

  recordset:

   [ { :

        ‘Microsoft SQL Server 2016 (RTM-GDR) (KB4019088) – 13.0.1742.0 (X64) \n\tJul  5 2017 23:41:17 \n\tCopyright (c) Microsoft Corporation\n\tEnterprise Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: )\n’ } ],

  output: {},

  rowsAffected: [ 1 ] }

Categories: Uncategorized