public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("Generating Credit Card"); ActionResult response; try { CreditCardPost creditCardSelected = await req.ReadAsAsync <CreditCardPost>(); if (creditCardSelected != null) { CreditCardService service = new CreditCardService(); log.LogInformation("Getting CreditCardType"); CreditCardType creditCardType = service.GetCreditCardTypeById(creditCardSelected.TypeId); if (creditCardType != null) { creditCardType.CustomPrefix = creditCardSelected.CustomPrefix; CreditCard creditCard = service.GenerateCreditCard(creditCardType); response = new OkObjectResult(creditCard); } else { response = new NotFoundObjectResult("CreditCardType doesn't exists"); } } else { var errorMessage = "Failed to parse model"; log.LogError(errorMessage); response = new BadRequestObjectResult(errorMessage); } } catch (Exception e) { log.LogError(e.Message, e); response = new BadRequestObjectResult("Ineternal Server Error"); } return(response); }