public async Task <IActionResult> ChangePassword(ChangePasswordModel model) { if (!ModelState.IsValid) { return(View(model)); } string currentUserId = _userManager.GetUserId(HttpContext.User); KitNetUser user = _kitNetContext.Users.FirstOrDefault(u => u.Id.Equals(model.Id)); if (user == null) { user = await _userManager.GetUserAsync(HttpContext.User); model.Id = user.Id; } var changePasswordResult = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword); if (!changePasswordResult.Succeeded) { foreach (var error in changePasswordResult.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(View(model)); } await _signInManager.RefreshSignInAsync(user); model.StatusMessage = "Your password has been changed."; return(View(model)); }
public async Task <IActionResult> Edit(AccountModel model, IFormFile file, bool isDeleteAvatar) { if (ModelState.IsValid) { KitNetUser user = _kitNetContext.Users.Include(u => u.Posts).FirstOrDefault(u => u.Id.Equals(model.Id)); user.UserName = model.UserName; user.DateBirdth = model.DateBirdth; user.PhoneNumber = model.PhoneNumber; user.Email = model.Email; if (file == null && isDeleteAvatar == false) { model.Avatar = user.Avatar; user.Avatar = user.Avatar; } if (file != null) { bool isAvatar = !user.Avatar.Contains("default"); string path = "/files/images/"; if (isAvatar) { path = user.Avatar; } else { path += user.Id + DateTime.Now.ToString("ddMMyyyyHHmmss") + Path.GetExtension(file.FileName); } using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create)) { user.Avatar = path; model.Avatar = path; await file.CopyToAsync(fileStream); } } if (file == null && isDeleteAvatar) { string fullPath = _appEnvironment.WebRootPath + user.Avatar; System.IO.File.Delete(fullPath); user.Avatar = "/files/images/default_avatar.png"; model.Avatar = "/files/images/default_avatar.png"; } model.StatusMessage = "Your profile has been updated"; string currentUserId = _userManager.GetUserId(HttpContext.User); } _kitNetContext.SaveChanges(); return(View(model)); }
private async Task LoadAsync(KitNetUser user) { var userName = await _userManager.GetUserNameAsync(user); var phoneNumber = await _userManager.GetPhoneNumberAsync(user); Username = userName; Input = new InputModel { PhoneNumber = phoneNumber }; }
private async Task LoadAsync(KitNetUser user) { var email = await _userManager.GetEmailAsync(user); Email = email; Input = new InputModel { NewEmail = email, }; IsEmailConfirmed = await _userManager.IsEmailConfirmedAsync(user); }
public async Task <IActionResult> Register(RegisterModel model, IFormFile avatar) { if (ModelState.IsValid) { KitNetUser user = new KitNetUser { Email = model.Email, UserName = model.UserName, DateBirdth = model.DateBirdth, Avatar = null, EmailConfirmed = true }; string path = "/files/images/"; //добавляем аватар пользователю if (avatar != null) { // путь к папке Files path += user.Id + DateTime.Now.ToString("ddMMyyyyHHmmss") + Path.GetExtension(avatar.FileName); // сохраняем файл в папку files/images в каталоге wwwroot using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create)) { await avatar.CopyToAsync(fileStream); } } else { path += "default_avatar.png"; } user.Avatar = path; // добавляем пользователя var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { // установка куки await _signInManager.SignInAsync(user, false); return(RedirectToAction("Index", "Account")); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } } return(View(model)); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl ??= Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new KitNetUser { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); 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, returnUrl = returnUrl }, 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, returnUrl = returnUrl })); } 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()); }
public async Task <IActionResult> Documents(string id) { string currentUserId = _userManager.GetUserId(HttpContext.User); KitNetUser user = _kitNetContext.Users.Include(u => u.Posts).FirstOrDefault(u => u.Id.Equals(id)); if (user == null) { user = await _userManager.GetUserAsync(HttpContext.User); id = user.Id; } ViewData["isOwner"] = user.Id.Equals(currentUserId); List <Document> documents = _kitNetContext.Documents.Where(d => d.UserId.Equals(id)).ToList(); return(View(documents)); }
public IActionResult Index(AccountModel model) { if (ModelState.IsValid) { KitNetUser user = _kitNetContext.Users.Include(u => u.Posts).FirstOrDefault(u => u.Id.Equals(model.Id)); user.UserName = model.UserName; user.DateBirdth = model.DateBirdth; user.PhoneNumber = model.PhoneNumber; user.Avatar = model.Avatar; user.Email = model.Email; model.StatusMessage = "Your profile has been updated"; string currentUserId = _userManager.GetUserId(HttpContext.User); ViewData["isOwner"] = user.Id.Equals(currentUserId); } _kitNetContext.SaveChanges(); return(View(model)); }
public async Task <IActionResult> ChangePassword(string id) { string currentUserId = _userManager.GetUserId(HttpContext.User); KitNetUser user = _kitNetContext.Users.FirstOrDefault(u => u.Id.Equals(id)); if (user == null) { user = await _userManager.GetUserAsync(HttpContext.User); id = user.Id; } ViewData["isOwner"] = user.Id.Equals(currentUserId); ChangePasswordModel model = new ChangePasswordModel() { Id = user.Id, }; return(View()); }
public async Task <IActionResult> Index(string id) { string currentUserId = _userManager.GetUserId(HttpContext.User); KitNetUser user = _kitNetContext.Users.Include(u => u.Posts).FirstOrDefault(u => u.Id.Equals(id)); if (user == null) { user = await _userManager.GetUserAsync(HttpContext.User); id = user.Id; } ViewData["isOwner"] = user.Id.Equals(currentUserId); AccountModel model = new AccountModel() { Id = id, UserName = user.UserName, Avatar = user.Avatar, DateBirdth = user.DateBirdth, Email = user.Email, PhoneNumber = user.PhoneNumber, }; if (user.Posts != null) { if (user.Posts.Count > 0) { model.Posts = user.Posts.OrderByDescending(p => p.DateTimePublish).ToList(); } else { model.Posts = new List <Post>(); } } else { model.Posts = new List <Post>(); } return(View(model)); }
public async Task <IActionResult> Friends(string id) { string currentUserId = _userManager.GetUserId(HttpContext.User); KitNetUser user = _kitNetContext.Users.Include(u => u.Posts).FirstOrDefault(u => u.Id.Equals(id)); if (user == null) { user = await _userManager.GetUserAsync(HttpContext.User); id = user.Id; } FriendsModel model = new FriendsModel() { User = user, }; model.Friends = _kitNetContext.Friends .Include(f => f.FriendUser) .Where(f => f.UserId.Equals(user.Id)).ToList(); return(View(model)); }
public async Task <IActionResult> Edit(string id) { string currentUserId = _userManager.GetUserId(HttpContext.User); KitNetUser user = _kitNetContext.Users.Include(u => u.Posts).FirstOrDefault(u => u.Id.Equals(id)); if (user == null) { user = await _userManager.GetUserAsync(HttpContext.User); id = user.Id; } AccountModel model = new AccountModel() { Id = id, UserName = user.UserName, Avatar = user.Avatar, DateBirdth = user.DateBirdth, Email = user.Email, PhoneNumber = user.PhoneNumber, }; return(View(model)); }
public IActionResult Index() { List <Post> post = new List <Post>(); string userId = _userManager.GetUserId(User); KitNetUser user = _kitNetContext.Users .Include(u => u.Friends) .ThenInclude(f => f.FriendUser) .ThenInclude(fu => fu.Posts) .ThenInclude(p => p.User) .FirstOrDefault(u => u.Id.Equals(userId)); if (user.Friends.Count > 0) { List <KitNetUser> friends = user.Friends.Select(f => f.FriendUser).ToList(); friends.ForEach(f => post.AddRange(f.Posts)); post = post.OrderByDescending(p => p.DateTimePublish).ToList(); } return(View(post)); }