public async Task<IHttpActionResult> PutPosition(int id, Position position)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest(this.ModelState);
            }

            if (id != position.ID)
            {
                return this.BadRequest();
            }

            this.db.MarkAsModified(position);

            try
            {
                await this.db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!this.PositionExists(id))
                {
                    return this.NotFound();
                }

                throw;
            }

            return this.StatusCode(HttpStatusCode.NoContent);
        }
        public async Task<IHttpActionResult> PostPosition(Position position)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest(this.ModelState);
            }

            this.db.Positions.Add(position);
            await this.db.SaveChangesAsync();

            return CreatedAtRoute("DefaultApi", new { id = position.ID }, position);
        }