public IHttpActionResult Update(int id, TestEntityModel item)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest(this.ModelState);
            }

            var existingItem = this.data.TestEntities.Find(id);

            if (existingItem == null)
            {
                return this.BadRequest(string.Format(INVALID_ITEM_FORMAT, "test entity"));
            }

            // Check if some of the fields in the new data are not null
            if (!string.IsNullOrEmpty(item.Name))
            {
                existingItem.Name = item.Name;
            }

            this.data.SaveChanges();

            item.Id = existingItem.Id;

            return this.Ok(item);
        }
        public IHttpActionResult Create(TestEntityModel item)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest(this.ModelState);
            }

            var authorId = this.userIdProvider.GetUserId();
            var currentUser = this.data.Users.Find(authorId);

            if (currentUser == null)
            {
                return this.BadRequest(string.Format(INVALID_ITEM_FORMAT, "user"));
            }

            var newItem = new TestEntity()
            {
                Name = item.Name,
                User = currentUser,
            };

            this.data.TestEntities.Add(newItem);
            this.data.SaveChanges();

            item.Id = newItem.Id;
            item.UserName = newItem.User.UserName;

            return this.Ok(item);
        }