public async Task <IActionResult> AddAdditionalInfo() { var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var userFullName = (await this.userService.GetByIdAsync(userId)).FullName; var userAddAdditionalInfoInputModel = new UserAddAdditionalInfoInputModel { FullName = userFullName, }; userAddAdditionalInfoInputModel .UserAdditionalInfoViewData = await this.userService.GetUserAdditionalInfoViewDataModelAsync(); return(this.View(userAddAdditionalInfoInputModel)); }
public async Task <IActionResult> AddAdditionalInfo(UserAddAdditionalInfoInputModel userAddAdditionalInfoInputModel) { if (!this.ModelState.IsValid) { userAddAdditionalInfoInputModel .UserAdditionalInfoViewData = await this.userService.GetUserAdditionalInfoViewDataModelAsync(); return(this.View(userAddAdditionalInfoInputModel)); } var userAdditionalInfoServiceModel = userAddAdditionalInfoInputModel .To <UserAdditionalInfoServiceModel>(); var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); if (userAddAdditionalInfoInputModel.ProfilePhoto != null) { string photoUrl = await this.cloudinaryService.UploadPhotoAsync( userAddAdditionalInfoInputModel.ProfilePhoto, userId, GlobalConstants.CloudFolderForUserProfilePhotos); userAdditionalInfoServiceModel.ProfilePhoto = photoUrl; } foreach (var allergenName in userAddAdditionalInfoInputModel.AllergenNames) { userAdditionalInfoServiceModel.Allergies.Add(new UserAllergenServiceModel { Allergen = new AllergenServiceModel { Name = allergenName }, }); } if (!await this.userService.AddAdditionalInfoAsync(userId, userAdditionalInfoServiceModel)) { this.TempData["Error"] = AddAdditionalInfoErrorMessage; userAddAdditionalInfoInputModel .UserAdditionalInfoViewData = await this.userService.GetUserAdditionalInfoViewDataModelAsync(); return(this.View(userAddAdditionalInfoInputModel)); } this.TempData["Success"] = AddAdditionalInfoSuccessMessage; return(this.Redirect("/")); }