public async Task <IActionResult> OnPostAsync() { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } var updateduser = (ApplicationUser)user; updateduser.Name = Input.Name; updateduser.Country = Input.Country; updateduser.State = Input.State; updateduser.Address1 = Input.Address1; updateduser.Address2 = Input.Address2; updateduser.City = Input.City; updateduser.PostCode = Input.PostCode; updateduser.PhoneNumber = Input.PhoneNumber; // Process the avatar if (Input.AvartarUrl != null && Input.AvartarUrl.Length > 0 && updateduser.AvartarUrl != Input.AvartarUrl) { //Avatar is changed string folderName = HttpContext.Session.GetObject <string>(SessionType.UploadImage); string savedAvatarFileName = ImageManagment.SaveAvatarPicToServer(_hostEnvironment, folderName, Input.AvartarUrl); if (savedAvatarFileName.Length > 0) { //Delete the old avatar on server if (updateduser.AvartarUrl != null && updateduser.AvartarUrl.Length > 0) { ImageManagment.DeleteOldAvatar(_hostEnvironment, updateduser.AvartarUrl); } updateduser.AvartarUrl = savedAvatarFileName; } } if (!ModelState.IsValid) { await LoadAsync(updateduser); return(Page()); } var result = await _userManager.UpdateAsync(updateduser); if (result.Succeeded == false) { throw new InvalidOperationException($"Unexpected error occurred on updatting profile of '{updateduser.Id}'."); } await _signInManager.RefreshSignInAsync(user); StatusMessage = "Your profile has been updated"; return(RedirectToPage()); }
public CollectionController(ComicsDbContext context, UserManager <User> userManager, ComicsDbContext db, IWebHostEnvironment appEnviroment, ICollectionRepository collectionRepository, IUserRepository userRepository, ImageManagment imageManagment) { _context = context; _userManager = userManager; _db = db; _appEnviroment = appEnviroment; _collectionRepository = collectionRepository; _userRepository = userRepository; _imageManagment = imageManagment; }
public AccountController(UserManager <User> userManager, SignInManager <User> signInManager, ILogger <AccountController> logger, IUserRepository userRep, ICollectionRepository collectionRepository, IEmail email, ImageManagment imageManagment, ComicsDbContext db) { _userManager = userManager; _signInManager = signInManager; _logger = logger; _userRep = userRep; _collectionRepository = collectionRepository; _email = email; _imageManagment = imageManagment; _db = db; }
public WhiskyController(ComicsDbContext context, UserManager <User> userManager, ComicsDbContext db, IWebHostEnvironment appEnviroment, IWhiskyRepository whiskyRepository, ICommentsRepository commentRepository, IUserRepository userRepository, ImageManagment imageManagment, IHubContext <UpdateHub> updateHub) { _context = context; _userManager = userManager; _db = db; _appEnviroment = appEnviroment; _whiskyRepository = whiskyRepository; _commentRepository = commentRepository; _userRepository = userRepository; _imageManagment = imageManagment; _updateHub = updateHub; }
public ActionResult UploadAvatar() { //create session if (HttpContext.Session.GetObject <string>(SessionType.UploadImage) == null) { HttpContext.Session.SetObject(SessionType.UploadImage, Guid.NewGuid().ToString()); } string folderName = HttpContext.Session.GetObject <string>(SessionType.UploadImage); var files = HttpContext.Request.Form.Files; ImageManagment.UploadAvatarTemporary(files, _hostEnvironment, folderName); return(Json(true)); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new ApplicationUser { UserName = Input.Email, Email = Input.Email, Name = Input.Name, Country = Input.Country, State = Input.State, Address1 = Input.Address1, Address2 = Input.Address2, City = Input.City, PostCode = Input.PostCode, PhoneNumber = Input.PhoneNumber, AvartarUrl = "Avatar.jpg", }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { //Store the avatar if (Input.AvartarUrl != null && Input.AvartarUrl.Length > 0) { string contextName = "UPLOAD_PICS"; string folderName = HttpContext.Session.GetObject <string>(contextName); string savedAvatarFileName = ImageManagment.SaveAvatarPicToServer(_hostEnvironment, folderName, Input.AvartarUrl); if (savedAvatarFileName.Length > 0) { user.AvartarUrl = savedAvatarFileName; await _userManager.UpdateAsync(user); } } _logger.LogInformation("User created a new account with password."); //Update the role string role = Request.Form["rdUserRole"].ToString(); if (role == UserType.AdminRole || role == UserType.SupplierRole || role == UserType.CustomerRole) { await _userManager.AddToRoleAsync(user, role); } // Process the avartar if have /* var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); * code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); * var callbackUrl = Url.Page( * "/Account/ConfirmEmail", * pageHandler: null, * values: new { area = "Identity", userId = user.Id, code = code }, * protocol: Request.Scheme); * * await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", * $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); */ if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email })); } else { // await _signInManager.SignInAsync(user, isPersistent: false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }