public async Task <GenericActionResult <UserProfile> > SaveUserDetails(AddUserProfileModel userProfileModel, string webRootPath, string userId) { try { if (context.UserProfiles.FirstOrDefault(a => a.UserId.Equals(userId)) != null) { return(await UpdateUserDetails(ObjectConverterManager.ToUserProfileModel(userProfileModel, userId), webRootPath)); } var userProfile = new UserProfile { CountryId = userProfileModel.CountryId, DateOfBirth = userProfileModel.DateOfBirth, FirstName = userProfileModel.FirstName, Gender = (byte)userProfileModel.Gender, LastName = userProfileModel.LastName, UserId = userId, DateCreated = DateTime.Now, IsDeleted = false, ProfileImageName = await UploadFile.SaveFileInWebRoot(userProfileModel.ProfileImage, webRootPath) }; context.UserProfiles.Add(userProfile); context.SaveChanges(); return(new GenericActionResult <UserProfile>(true, "User details saved successfully.", userProfile)); } catch (Exception) { return(new GenericActionResult <UserProfile>("Failed to save user details, please try again or contact the administrator.")); } }
public IActionResult Post(AddUserProfileModel userProfileModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = new UserProfileManager(context, userManager).SaveUserDetails(userProfileModel, hostingEnvironment.WebRootPath, User.FindFirst(ClaimTypes.NameIdentifier).Value).Result; return(Ok(new { success = result.Success, message = result.Message, data = result.Data })); }
public static UserProfileModel ToUserProfileModel(AddUserProfileModel userProfileModel, string userId) { return(new UserProfileModel { CountryId = userProfileModel.CountryId, DateOfBirth = userProfileModel.DateOfBirth, FirstName = userProfileModel.FirstName, Gender = userProfileModel.Gender, LastName = userProfileModel.LastName, ProfileImage = userProfileModel.ProfileImage, UserId = userId }); }