public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req) { //Driver user = await req.Content.ReadAsAsync<Driver>(); //req.IsValidToken(); string requestBody = new StreamReader(req.Body).ReadToEnd(); Driver user = JsonConvert.DeserializeObject <Driver>(requestBody); await DriverRepository <Driver> .Initialize(); if (user == null) { return((ActionResult) new OkObjectResult("User cannot be null or empty")); } if (string.IsNullOrEmpty(user.Email)) { return((ActionResult) new OkObjectResult("An email address is needed for this request")); } try { var udb = DriverRepository <Driver> .GetItems($"Select * from DriverData u where u.Email = '{user.Email}'"); if (udb != null && udb.Count() > 0) { return((ActionResult) new OkObjectResult("Driver already exist, please login or activate account to continue")); } } catch (Exception ex) { return((ActionResult) new OkObjectResult(ex)); } if (string.IsNullOrEmpty(user.Password)) { return((ActionResult) new OkObjectResult("A Password is needed for this request")); } user.Password = user.Password.EncodeString(); user.LastModified = DateTime.Now; user.IsActivated = false; try { dynamic u = await DriverRepository <Driver> .CreateItemAsync(user); //Rider rider = u as Rider; return((ActionResult) new OkObjectResult("Your account has been created. Admin will contact via the number provided to complete the activation process.")); } catch (Exception ex) { return((ActionResult) new OkObjectResult("An error has occured")); } }