/// <summary> /// Обновить модель /// </summary> /// <param name="vm">Юзер модель</param> /// <returns>true, если обновилось</returns> public async Task <bool> UpdateUser(IndexProfileViewModel vm) { var user = await _contextUsers.Users.FirstOrDefaultAsync(i => i.Email == vm.email); if (user == null) { return(false); } user.Name = vm.Name; user.Family = vm.Family; user.dateBirth = new DateTime(vm.YearBirth, vm.MonthBirth, vm.DayBirth); _contextUsers.SaveChanges(); // Смена пароля пользователем, если он ввел поля if (!string.IsNullOrEmpty(vm.NewPassword) && !string.IsNullOrEmpty(vm.OldPassword)) { User Identity = await _userManager.FindByEmailAsync(vm.email); if (Identity != null) { IdentityResult result = await _userManager.ChangePasswordAsync(Identity, vm.OldPassword, vm.NewPassword); if (!result.Succeeded) { return(false); } } } return(true); }
public PartialViewResult _DashBoard() { ApplicationUser currentUser = System.Web.HttpContext.Current.GetOwinContext(). GetUserManager <ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId()); IndexProfileViewModel viewModel = new IndexProfileViewModel (currentUser.FirstName, currentUser.LastName, currentUser.Photo, currentUser.UserRole, currentUser.PhotoType); return(PartialView("~/Views/Shared/_DashBoard.cshtml", viewModel)); }
public async Task <IActionResult> AboutProfile(string name) { var user = await profileService.GetUser(name); IndexProfileViewModel vm = new IndexProfileViewModel() { email = name, user = user }; return(PartialView("ProfileData", vm)); }
// TODO DISPLAY RANDOM 6 MODELS OR TOP MODELS public async Task <IActionResult> Index() { var viewModel = new IndexProfileViewModel { ModelProfile = await this.modelService.TakeSixModels <ModelProfileView>(), BlogViewModels = await this.blogService.TakeThreeBlogs <BlogViewModel>(), Count = await this.modelService.GetModelCount(), }; return(this.View(viewModel)); }
public static ApplicationUser AsApplicationUser(this IndexProfileViewModel viewModel) { var user = (viewModel as ProfileWithPostsViewModel).AsApplicationUser(); user.UserName = viewModel.Username; user.Email = viewModel.Email; //viewModel.FavoritePosts; //viewModel.Subscriptions; //Should be parsed in controller return(user); }
public async Task <IViewComponentResult> InvokeAsync(string userName) { var user = await profileService.GetUser(userName); IndexProfileViewModel vm = new IndexProfileViewModel() { email = userName, user = user }; return(View("ProfileData", vm)); }
public async Task <IActionResult> Model(int page = 1, int perPage = ProfilesPerPage) { var pagesCount = await this.modelService.GetPagesCount(perPage); var viewModel = new IndexProfileViewModel { ModelProfile = await this.modelService.TakeAllModels <ModelProfileView>(page, perPage), CurrentPage = page, PagesCount = pagesCount, }; return(this.View(viewModel)); }
public static IndexProfileViewModel AsIndexProfileViewModel(this ApplicationUser user) { var viewModel = new IndexProfileViewModel { Id = user.Id, Extension = user.Extension, FullName = user.FullName, Email = user.Email }; //viewModel.FavoritePosts; //viewModel.Subscriptions; //Should be parsed in controller return(viewModel); }
public async Task <IActionResult> SaveProfile(IndexProfileViewModel vm) { if (ModelState.IsValid) { if (vm.email == User.Identity.Name) { var updated = await profileService.UpdateUser(vm); if (updated == true) { return(Redirect($"{vm.email}")); } } } return(View()); }
public async Task <ActionResult> Index() { string userId = User.Identity.GetUserId(); var resultWithDataProfile = await UserService.GetProfileByUserIdAsync(userId); var resultWithDataUser = await UserService.GetByUserIdAsync(userId); var resultWithDataEmail = await UserService.GetEmailByUserIdAsync(userId); var resultWithDataSubscribersCount = _subscriptionService.GetSubscribersCountByUserId(userId); var resultWithDataSubscribtionsCount = _subscriptionService.GetSubscriptionsCountByUserId(userId); if (!resultWithDataProfile.Success) { // TODO } var profile = resultWithDataProfile.ResultData; var user = resultWithDataUser.ResultData; var model = new IndexProfileViewModel { Id = profile.Id, Name = profile.Name, Surname = profile.Surname, DateOfBirth = profile.DateOfBirth?.ToString("d MMMM, yyyy"), CreatedAt = profile.CreatedAt.ToString("d MMMM, yyyy HH:mm"), UpdatedAt = profile.UpdatedAt.ToString("d MMMM, yyyy HH:mm"), AvatarImagePath = GetAvatarImagePath(userId), UserName = User.Identity.Name, Email = resultWithDataEmail.ResultData, DictionariesCount = user.Dictionaries.Count, SubscribersCount = resultWithDataSubscribersCount.ResultData, SubscriptionsCount = resultWithDataSubscribtionsCount.ResultData, }; return(View(model)); }