public async Task<IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var user = new User() { UserName = model.Username, Email = model.Email, RegistrationDate = DateTime.Now, LatestActivityDate = DateTime.Now }; if (model.LocalAvatarPath != null) { var dropboxConnection = new DropboxConnection(); dropboxConnection.UploadNewUserAvatar(model.LocalAvatarPath, user.UserName); user.AvatarUrl = dropboxConnection.GetShareableLink(model.LocalAvatarPath); } IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return GetErrorResult(result); } return Ok(); }
public IHttpActionResult ChangeAvatar(string avatarLocationUrl) { if (avatarLocationUrl == null) { return BadRequest("No avatar link provided"); } var userId = User.Identity.GetUserId(); if (data == null) { data = new CodeChestData(new CodeChestDbContext()); } var user = data.Users.All().FirstOrDefault(u => u.Id == userId); if (user == null) { return BadRequest("You must be logged in to change your avatar."); } var dropboxConnection = new DropboxConnection(); dropboxConnection.UploadNewUserAvatar(avatarLocationUrl, user.UserName); user.AvatarUrl = dropboxConnection.GetShareableLink(avatarLocationUrl); data.SaveChanges(); return Ok(); }