public async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, ILogger log) { try { var claims = req.GetClaimsPrincipal(); var requestBody = await new StreamReader(req.Body).ReadToEndAsync(); var facility = JsonConvert.DeserializeObject <NewFacilityDto>(requestBody); var entity = new Facility { PartitionKey = $"{DateTime.Now.Year}{DateTime.Now.Month}", RowKey = Guid.NewGuid().ToString(), Timestamp = _dateTimeService.TableEntityTimeStamp, Name = facility.Name, Address = facility.Address, CreatedBy = claims.ClientId(), CreatedAt = _dateTimeService.CurrentUtcDateTime }; if (facility.Image != null) { var resizedImage = await _imageProcessor.CompressAsync(facility.Image.Content, 50); facility.Image.Content = resizedImage; var imageUri = await _blobService.UploadImageAsync(facility.Image); entity.PreviewUrl = imageUri.AbsoluteUri; } var result = await _facilityRepository.CreateAsync(entity); return(new OkObjectResult(result)); } catch (Exception e) { return(new ExceptionResult(e, true)); } }