public UserOperationsController(IOperatingUserRepo userRepo, OperatingUserViewModel userModel, VerificationListViewModel verificationListModel, IUserImageHelper imageHelper) { _userRepo = userRepo; model = userModel; this.verificationListModel = verificationListModel; this.imageHelper = imageHelper; }
public async Task <ActionResult> UserProfile(UserProfileViewModel model) { try { if (ModelState.IsValid) { var userFound = await _userRepo.Get(model.UserID); if (userFound == null) { return(HttpNotFound()); } //If user Added a new Profile Image if (model.ProfileImageFile != null) { var profileImage = model.ProfileImageFile; if (imageHelper.isValidFileUpload(profileImage)) { imageHelper.SetUserProfileImage (profileImage, userFound); } else { ModelState.AddModelError(string.Empty, "Please Provide a valid File type"); model = GetDefaultProfileViewModel(userFound); return(View(model)); } } //If user Added a new Driving License if (model.ProfileDriverLicense != null) { var licenseFile = model.ProfileDriverLicense; if (imageHelper.IsDrivingLicenseValid (licenseFile, model.LicenseExpiryDate, ModelState)) { imageHelper.SetProfileDriverLicense (licenseFile, userFound, model.LicenseExpiryDate); } else { model = GetDefaultProfileViewModel(userFound); return(View(model)); } } var res = await _userRepo.SaveUserImages(userFound); return(RedirectToAction("UserProfile", new { id = userFound.ID })); } return(View(model)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, ex.Message); return(View(model)); } }