Exemple #1
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "widgets")] Widget widget,
            [Table("widgets", Connection = "AzureTableStorage")] CloudTable cloudTable,
            ILogger log)
        {
            widget.WidgetId = Guid.NewGuid().ToString();
            var widgetEntity = new WidgetEntity()
            {
                RowKey       = widget.WidgetId,
                PartitionKey = widget.WidgetId,
                WidgetId     = widget.WidgetId,
                Colour       = widget.Colour,
                Name         = widget.Name,
                Quantity     = widget.Quantity
            };
            TableOperation insertOrMergeOperation = TableOperation.InsertOrReplace(widgetEntity);

            try
            {
                var result = await cloudTable.ExecuteAsync(insertOrMergeOperation);

                if (result.HttpStatusCode >= 400)
                {
                    return(new BadRequestErrorMessageResult("Bad request"));
                }
            } catch (Exception e)
            {
                log.LogInformation(JsonConvert.SerializeObject(e));
                return(new BadRequestErrorMessageResult("Bad request"));
            }

            return(new OkObjectResult(widget.WidgetId));
        }
Exemple #2
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "put", Route = "widgets/{id}")] Widget widget,
            [Table("widgets", Connection = "AzureTableStorage")] CloudTable cloudTable,
            ILogger log,
            string id)
        {
            widget.WidgetId = id;
            var widgetEntity = new WidgetEntity()
            {
                RowKey       = widget.WidgetId,
                PartitionKey = widget.WidgetId,
                WidgetId     = widget.WidgetId,
                Colour       = widget.Colour,
                Name         = widget.Name,
                Quantity     = widget.Quantity
            };
            TableOperation replaceOperation = TableOperation.InsertOrReplace(widgetEntity);
            var            result           = await cloudTable.ExecuteAsync(replaceOperation);

            if (result.HttpStatusCode >= 400)
            {
                return(new BadRequestErrorMessageResult("Bad request"));
            }
            return(new OkObjectResult(widget.WidgetId));
        }
Exemple #3
0
 public WidgetModel(int order, string title, WidgetKind kind)
 {
     _entity = new WidgetEntity
     {
         Id         = Guid.NewGuid(),
         Order      = order,
         Title      = title,
         WidgetKind = (int)kind,
     };
 }
 public WidgetModel(int order, string title, WidgetKind kind)
 {
     Id      = Guid.NewGuid();
     _entity = new WidgetEntity
     {
         PartitionKey = nameof(WidgetModel),
         RowKey       = Id.ToString(),
         Order        = order,
         Title        = title,
         WidgetKind   = (int)kind,
     };
 }
Exemple #5
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "widgets/{id}")] HttpRequest req,
            [Table("widgets", "{id}", "{id}", Connection = "AzureTableStorage")] WidgetEntity widgetEntity,
            ILogger log,
            string id)
        {
            if (widgetEntity != null)
            {
                return(new OkObjectResult(new Widget()
                {
                    WidgetId = widgetEntity.WidgetId,
                    Name = widgetEntity.Name,
                    Colour = widgetEntity.Colour,
                    Quantity = widgetEntity.Quantity
                }));
            }

            return(new BadRequestErrorMessageResult("Bad Request"));
        }
Exemple #6
0
 public WidgetModel(WidgetEntity entity)
 {
     _entity = entity;
 }
 public WidgetModel(WidgetEntity entity)
 {
     _entity = entity;
     Id      = Guid.Parse(_entity.RowKey);
 }