// POST api/Person
[ResponseType(typeof(Person))]
[Route("api/RegisterPersonForUser")]
[Authorize]
public IHttpActionResult PostPerson(Person person)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var result = (from p in db.People where p.AppUserName == User.Identity.Name select p).ToList();
if (result.Count > 0)
{
return StatusCode(HttpStatusCode.NotAcceptable);
}
person.AppUserName = User.Identity.Name;
db.People.Add(person);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = person.Id }, person);
}
[Authorize]
[Route("api/GetUserInfo")]
public IHttpActionResult GetAssociatedPersonId()
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var result = (from p in db.People where p.AppUserName == User.Identity.Name select p).ToList();
if(result.Count > 0)
{
Person person = result[0];
return CreatedAtRoute("DefaultApi", new { id = person.Id }, person);
}
return StatusCode(HttpStatusCode.NoContent);
}
Для начала пройдите вводный курс по MVC3/4/5, это займёт у Вас не так много времени, как кажется - там простенькие веб приложения вроде магазина музыки. Потом почитайте про новую авторизацию в MVC5 и о том, как свойства пользователя "расширять" новыми полями.
Посмотрите, как это работает на практике (работает, проверял) на том же демо проекте вроде магазина музыкальных дисков и только потом начинайте развлекаться с WebApi, дописывая функционал