public IHttpActionResult Get([FromODataUri]string id)
 {
     var user = db.Users.SingleOrDefault(p => p.Id == id);
     if (user == null) return NotFound();
     var role = new UserViewModel() { Id = user.Id, UserName = user.UserName, DisplayName = user.DisplayName, Email = user.Email, PhoneNumber = user.PhoneNumber };
     return Ok(role);
 }
 public async Task<IHttpActionResult> Post(UserViewModel m)
 {
     if (!ModelState.IsValid)
         return BadRequest(ModelState);
     var user = new AppUser()
     {
         CreateBy = User.Identity.GetUserId(),
         CreateTime = DateTimeOffset.Now,
         Deleted = false,
         Id = Guid.NewGuid().ToString(),
         UserName = m.UserName,
         DisplayName = m.DisplayName,
         PhoneNumber = m.PhoneNumber,
         Email = m.Email
     };
     if (!userManager.Users.Any(p => p.Email == m.Email || p.UserName == m.UserName))
         userManager.Create(user);
     else
     {
         ModelState.AddModelError("Failure", "该用户已存在(请确定用户名或邮箱唯一)。");
         return BadRequest(ModelState);
     }
     return Created<UserViewModel>(new UserViewModel() { Id = user.Id, UserName = user.UserName, DisplayName = user.DisplayName, Email = user.Email, PhoneNumber = user.PhoneNumber });
 }
 public async Task<IHttpActionResult> Put(UserViewModel m)
 {
     //不允许通过此接口更新用户名
     var user = userManager.FindById(m.Id);
     if (user == null)
         return NotFound();
     else
     {
         user.UpdateBy = User.Identity.GetUserId();
         user.UpdateTime = DateTimeOffset.Now;
         user.PhoneNumber = m.PhoneNumber;
         user.Email = m.Email;
         user.DisplayName = m.DisplayName;
         if (!ModelState.IsValid)
             return BadRequest(ModelState);
         await userManager.UpdateAsync(user);
         return Updated<UserViewModel>(new UserViewModel() { Id = user.Id, UserName = user.UserName, DisplayName = user.DisplayName, Email = user.Email, PhoneNumber = user.PhoneNumber });
     }
 }