public IActionResult Update(int id, [FromBody] ActorUpdateInputModel inputModel)
        {
            if (inputModel == null || id != inputModel.Id)
            {
                return(BadRequest());
            }

            var entity = new EntityFramework.Entities.Actor
            {
                Id        = inputModel.Id,
                Name      = inputModel.Name,
                Timestamp = inputModel.Timestamp
            };

            try
            {
                context.Actors.Update(entity);
                context.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                var inEntry = ex.Entries.Single();
                var dbEntry = inEntry.GetDatabaseValues();

                if (dbEntry == null)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, "Actor was deleted by another user"));
                }

                var inModel = inEntry.Entity as EntityFramework.Entities.Actor;
                var dbModel = dbEntry.ToObject() as EntityFramework.Entities.Actor;

                var conflicts = new Dictionary <string, string>();

                if (inModel.Name != dbModel.Name)
                {
                    conflicts.Add("Actor", $"Changed from '{inModel.Name}' to '{dbModel.Name}'");
                }

                if (inModel.Timestamp != dbModel.Timestamp)
                {
                    conflicts.Add("Timestamp", $"Changed from '{Convert.ToBase64String(inModel.Timestamp)}' to '{Convert.ToBase64String(dbModel.Timestamp)}'");
                }

                return(StatusCode(StatusCodes.Status412PreconditionFailed, conflicts));
            }
            return(NoContent());
        }
        public async Task <IActionResult> Create([FromBody] ActorCreateInputModel inputModel)
        {
            if (inputModel == null)
            {
                return(BadRequest());
            }

            var entity = new EntityFramework.Entities.Actor
            {
                Name = inputModel.Name
            };

            context.Actors.Add(entity);
            await context.SaveChangesAsync();

            var outputModel = new
            {
                entity.Id,
                entity.Name
            };

            return(CreatedAtRoute("GetActor", new { id = outputModel.Id }, outputModel));
        }