public async Task <ValidationOutputDto> ValidateUpdateInput(UpdateUserProfileInputDto request) { //Check if id is existing var userProfile = await _unitOfWork.Repository <UserProfile>().GetByIdAsync(request.Id); if (userProfile == null) { return new ValidationOutputDto { IsSuccess = false, Message = "User is not existing.", StatusCode = 400 } } ; //Check if Sdr type is valid var sdrTypeExists = Enum.IsDefined(typeof(SdrType), request.SdrTypeId); if (!sdrTypeExists) { return new ValidationOutputDto { IsSuccess = false, Message = "SdrType is not valid.", StatusCode = 400 } } ; if (request.DepartmentId.HasValue) { //Is Valid DepartmentId var department = await _unitOfWork.Repository <Department>().GetByIdAsync(request.DepartmentId.Value); if (department == null) { return new ValidationOutputDto { IsSuccess = false, Message = "DepartmentId is not valid.", StatusCode = 400 } } ; } return(new ValidationOutputDto { IsSuccess = true, Message = string.Empty, StatusCode = 200 }); }
public async Task <IActionResult> UpdateUserProfile([FromBody] UpdateUserProfileInputDto request) { try { //Validate Input var validationResponse = await _userProfileService.ValidateUpdateInput(request); if (!validationResponse.IsSuccess) { return(BadRequest(new ApiResponse(validationResponse.StatusCode, validationResponse.Message))); } await _userProfileService.UpdateUserProfile(request); return(Ok(new ApiResponse(200, "Success"))); } catch { return(BadRequest(new ApiResponse(400, "Something went wrong."))); } }
public async Task UpdateUserProfile(UpdateUserProfileInputDto request) { //Check if id is existing var userProfile = await _unitOfWork.Repository <UserProfile>().GetByIdAsync(request.Id); userProfile.FirstName = request.FirstName; userProfile.LastName = request.LastName; userProfile.ImageUrl = request.ImageUrl; userProfile.LastName = request.LastName; userProfile.LinkedInName = request.LinkedInName; userProfile.LinkedInUrl = request.LinkedInUrl; userProfile.PostalCode = request.PostalCode; userProfile.State = request.State; userProfile.DepartmentId = request.DepartmentId; userProfile.DateHired = request.DateHired; userProfile.Country = request.Country; userProfile.Address = request.Address; _unitOfWork.Repository <UserProfile>().Update(userProfile); await _unitOfWork.Complete(); }