public IHttpActionResult EditUserProfile(EditProfilBindingModel bindingModel) { if (!this.ModelState.IsValid) { return this.BadRequest(this.ModelState); } if (bindingModel == null) { return this.BadRequest("Invalid data."); } var userId = this.UserIdProvider.GetUserId(); var user = this.Data.Users.Find(userId); if (bindingModel.Email != null) { bool isEmailFree = this.Data .Users .All() .FirstOrDefault(u => u.Email == bindingModel.Email) == null; if (!isEmailFree) { return this.BadRequest("Email is already taken by another user."); } user.Email = bindingModel.Email; } if (bindingModel.Name != null) { user.Name = bindingModel.Name; } if (bindingModel.Gender != null) { user.Gender = bindingModel.Gender; } if (bindingModel.ProfileImageData != null && this.IsValidBase64Format(bindingModel.ProfileImageData)) { user.ProfileImageData = string.Format( "{0}{1}", "data:image/jpg;base64,", bindingModel.ProfileImageData); } if (bindingModel.CoverImageData != null && this.IsValidBase64Format(bindingModel.CoverImageData)) { user.CoverImageData = string.Format( "{0}{1}", "data:image/jpg;base64,", bindingModel.CoverImageData); } this.Data.SaveChanges(); return this.Ok(); }
public IHttpActionResult EditUserProfile(EditProfilBindingModel bindingModel) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } if (bindingModel == null) { return(this.BadRequest("Invalid data.")); } var userId = this.UserIdProvider.GetUserId(); var user = this.Data.Users.Find(userId); if (bindingModel.Email != null) { bool isEmailFree = this.Data .Users .All() .FirstOrDefault(u => u.Email == bindingModel.Email) == null; if (!isEmailFree) { return(this.BadRequest("Email is already taken by another user.")); } user.Email = bindingModel.Email; } if (bindingModel.Name != null) { user.Name = bindingModel.Name; } if (bindingModel.Gender != null) { user.Gender = bindingModel.Gender; } if (bindingModel.ProfileImageData != null && this.IsValidBase64Format(bindingModel.ProfileImageData)) { user.ProfileImageData = string.Format( "{0}{1}", "data:image/jpg;base64,", bindingModel.ProfileImageData); } if (bindingModel.CoverImageData != null && this.IsValidBase64Format(bindingModel.CoverImageData)) { user.CoverImageData = string.Format( "{0}{1}", "data:image/jpg;base64,", bindingModel.CoverImageData); } this.Data.SaveChanges(); return(this.Ok()); }