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()); }