public async Task <ActionResult <CollectedFilm> > PostAddCollectedFilm(CollectedFilm film) { /* Validate Post */ if (film == null | film.FilmId == 0 | film.UserId == null) { return(BadRequest()); } /* Set Partition and Row Keys */ film.PartitionKey = film.UserId; film.RowKey = film.FilmId.ToString() + "-" + film.Format; /* Insert Row */ TableOperation insertOrMergeOperation = TableOperation.InsertOrMerge(film); TableResult result = await table.ExecuteAsync(insertOrMergeOperation); CollectedFilm insertedCollectedFilm = result.Result as CollectedFilm; return(Ok(insertedCollectedFilm)); }
public async Task <ActionResult <CollectedFilm> > PutUpdateCollectedFilm([FromRoute] string rowKey, [FromBody] CollectedFilm film) { /* Validate Put */ if (rowKey != film.FilmId.ToString() + "-" + film.Format || film == null || film.UserId == null) { return(BadRequest()); } /* Set Partition and Row Keys and ETag */ film.PartitionKey = film.UserId; film.RowKey = film.FilmId.ToString() + "-" + film.Format; film.ETag = "*"; /* Merge Row */ TableOperation mergeOperation = TableOperation.Merge(film); TableResult result = await table.ExecuteAsync(mergeOperation); CollectedFilm mergedCollectedFilm = result.Result as CollectedFilm; return(Ok(mergedCollectedFilm)); }
public async Task <ActionResult <CollectedFilm> > DeleteCollectedFilm(string rowKey) { /* Validate Post */ if (rowKey == null) { return(BadRequest()); } var tableQueryResult = table.CreateQuery <CollectedFilm>().Where(row => row.RowKey == rowKey).FirstOrDefault(); if (tableQueryResult == null) { return(NotFound()); } TableOperation deleteOperation = TableOperation.Delete(tableQueryResult); TableResult result = await table.ExecuteAsync(deleteOperation); CollectedFilm deletedCollectedFilm = result.Result as CollectedFilm; return(Ok(deletedCollectedFilm)); }