public static FoodfestItem GetTableModelFor(FoodfestItemPostBindingModel bindingModel) { var rowPrefix = new Random().Next(1000, 3999); return(new FoodfestItem() { Amount = bindingModel.Amount, Food = bindingModel.Food, FullName = bindingModel.FullName, PartitionKey = "Foods", RowKey = $"{rowPrefix}__{bindingModel.FullName.ToUpper().Replace(" ", "_")}_{bindingModel.Food.ToUpper().Replace(" ", "_")}" }); }
public static async Task <IActionResult> AddItem( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] FoodfestItemPostBindingModel bindingModel, [Table("FoodfestItems", "Foods", Connection = "AzureWebJobsStorage")] IAsyncCollector <FoodfestItem> foodfestItemsTable, ILogger log) { try { var tableModel = FoodfestFactory.GetTableModelFor(bindingModel); await foodfestItemsTable.AddAsync(tableModel); log.LogInformation($"Added {tableModel.RowKey}: {tableModel.Food} by {tableModel.FullName}"); return(new OkObjectResult(FoodfestFactory.GetBindingModelFor(tableModel))); } catch { return(new BadRequestResult()); } }