public async Task <HttpResponseMessage> UpdateAsync(Guid id, UpdateUserProfile request) { var user = await this.manager.FindByIdAsync(id); if (user == null) { return(this.Request.CreateResponse(HttpStatusCode.NotFound)); } user.UserName = request.UserName; user.FirstName = request.FirstName; user.LastName = request.LastName; var result = await this.manager.UpdateAsync(user); if (user.Email != request.Email) { if (!result.Succeeded) { return(this.Request.CreateResponse(HttpStatusCode.BadRequest, result.Errors)); } result = await this.manager.SetEmailAsync(user.Id, request.Email); } return(result.Succeeded ? this.Request.CreateResponse(HttpStatusCode.OK) : this.Request.CreateResponse(HttpStatusCode.BadRequest, result.Errors)); }
public IHttpActionResult UpdateUserProfile(UpdateUserProfile user) { var result = false; Guard.NotNull(user, "User is Null.,"); if (!Utilities.IsValidEmail(user.Email)) { throw new Exception("Invalid Email Address.,"); } Guard.NotNullOrEmpty(user.MobileNo, "Invalid mobile number.,"); var isExists = _serviceFactory.CreateUserService.GetUserById(user.Id); if (isExists == null) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Conflict, "User Not Exists.,")); } isExists.UserTypeId = user.UserTypeId; isExists.FullName = user.FullName; isExists.Email = user.Email; isExists.MobileNo = user.MobileNo; isExists.CountryId = user.CountryId; isExists.Gender = user.Gender; result = _serviceFactory.CreateUserService.InsertOrUpdate(isExists) > 0 ? true : false; if (!result) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Conflict, "Unable to update your profile")); } return(Ok(result)); }
public async Task <IResponseDTO> UpdateUserProfile([ModelBinder(BinderType = typeof(JsonModelBinder))] UpdateUserProfile options) { var file = Request.Form?.Files?.Count > 0 ? Request.Form?.Files[0] : null; _response = await _accountService.UpdateUserProfile(LoggedInUserId, options, file); return(_response); }
public async Task <IResponseDTO> UpdateUserProfile(int id, UpdateUserProfile options, IFormFile file) { try { var appUser = await _userManager.FindByIdAsync(id.ToString()); if (appUser == null) { _response.Errors.Add("User id is not exist."); _response.IsPassed = false; return(_response); } else if (appUser.Status == UserStatusEnum.Locked.ToString()) { _response.Errors.Add("Your Account is locked. Please contact your administration"); _response.IsPassed = false; return(_response); } else if (appUser.Status == UserStatusEnum.NotActive.ToString()) { _response.Errors.Add("Your Account is disabled. Please contact your administration"); _response.IsPassed = false; return(_response); } // Update user info appUser.FirstName = options.FirstName; appUser.LastName = options.LastName; appUser.Address = options.Address; appUser.UpdatedBy = id; appUser.UpdatedOn = DateTime.Now; var path = $"\\Uploads\\Users\\User_{id}"; if (file != null) { // Update User image path appUser.PersonalImagePath = $"{path}\\{file?.FileName}"; } // Update DB IdentityResult result = await _userManager.UpdateAsync(appUser); if (!result.Succeeded) { _response.IsPassed = false; _response.Errors = result.Errors.Select(x => x.Description).ToList(); return(_response); } // Upload the documents if (file != null) { await _uploadFilesService.UploadFile(path, file); } _response.IsPassed = true; _response.Message = "Your profile is updated successfully"; } catch (Exception ex) { _response.Data = null; _response.IsPassed = false; _response.Errors.Add($"Error: {ex.Message}"); } return(_response); }