public async Task <IActionResult> Details(string id) { var userRecord = id is null ? UserContext.ApplicationUser : await UserManager.FindByIdAsync(id); if (userRecord is null) { userRecord = UserContext.ApplicationUser; } AccountRepository.CanEdit(userRecord.Id); var viewModel = new ViewModels.Account.DetailsPage { AvatarPath = userRecord.AvatarPath, Id = userRecord.Id, DisplayName = userRecord.DisplayName, NewEmail = userRecord.Email, EmailConfirmed = userRecord.EmailConfirmed, BirthdayDays = DayPickList(userRecord.Birthday.Day), BirthdayMonths = MonthPickList(userRecord.Birthday.Month), BirthdayYears = YearPickList(userRecord.Birthday.Year), BirthdayDay = userRecord.Birthday.Day.ToString(), BirthdayMonth = userRecord.Birthday.Month.ToString(), BirthdayYear = userRecord.Birthday.Year.ToString(), Settings = SettingsRepository.GetUserSettingsList(userRecord.Id) }; ModelState.Clear(); return(ForumViewResult.ViewResult(this, viewModel)); }
public async Task <IActionResult> Details(InputModels.UpdateAccountInput input) { if (ModelState.IsValid) { var serviceResponse = await AccountRepository.UpdateAccount(input); return(await ForumViewResult.RedirectFromService(this, serviceResponse, FailureCallback)); } return(await FailureCallback()); async Task <IActionResult> FailureCallback() { var userRecord = AccountRepository.First(item => item.Id == input.Id); AccountRepository.CanEdit(userRecord.Id); var viewModel = new ViewModels.Account.DetailsPage { DisplayName = input.DisplayName, NewEmail = input.NewEmail, AvatarPath = userRecord.AvatarPath, Id = userRecord.Id, EmailConfirmed = userRecord.EmailConfirmed, BirthdayDays = DayPickList(input.BirthdayDay), BirthdayMonths = MonthPickList(input.BirthdayMonth), BirthdayYears = YearPickList(input.BirthdayYear), BirthdayDay = input.BirthdayDay.ToString(), BirthdayMonth = input.BirthdayMonth.ToString(), BirthdayYear = input.BirthdayYear.ToString(), Settings = SettingsRepository.GetUserSettingsList(userRecord.Id) }; return(await Task.Run(() => { return ForumViewResult.ViewResult(this, viewModel); })); } }
public async Task <IActionResult> Details(string id = "") { var userRecord = string.IsNullOrEmpty(id) ? UserContext.ApplicationUser : await UserManager.FindByIdAsync(id); if (userRecord is null) { userRecord = UserContext.ApplicationUser; } AccountRepository.CanEdit(userRecord.Id); var viewModel = new ViewModels.Account.DetailsPage { AvatarPath = userRecord.AvatarPath, Id = userRecord.Id, DisplayName = userRecord.DisplayName, NewEmail = userRecord.Email, EmailConfirmed = userRecord.EmailConfirmed, BirthdayDays = DayPickList(userRecord.Birthday.Day), BirthdayMonths = MonthPickList(userRecord.Birthday.Month), BirthdayDay = userRecord.Birthday.Day.ToString(), BirthdayMonth = userRecord.Birthday.Month.ToString(), FrontPage = userRecord.FrontPage, FrontPageOptions = FrontPagePickList(userRecord.FrontPage), MessagesPerPage = userRecord.MessagesPerPage, PopularityLimit = userRecord.PopularityLimit, Poseys = userRecord.Poseys, ShowFavicons = userRecord.ShowFavicons, TopicsPerPage = userRecord.TopicsPerPage, ShowBirthday = userRecord.ShowBirthday }; ModelState.Clear(); return(await ForumViewResult.ViewResult(this, viewModel)); }
public async Task <IActionResult> UpdateAvatar(InputModels.UpdateAvatarInput input) { if (ModelState.IsValid) { var serviceResponse = await AccountRepository.UpdateAvatar(input); return(await this.RedirectFromService(serviceResponse, FailureCallback)); } return(await FailureCallback()); async Task <IActionResult> FailureCallback() { var userRecord = input.Id is null ? UserContext.ApplicationUser : await UserManager.FindByIdAsync(input.Id); if (userRecord is null) { userRecord = UserContext.ApplicationUser; } AccountRepository.CanEdit(userRecord.Id); var viewModel = new ViewModels.Account.DetailsPage { AvatarPath = userRecord.AvatarPath, Id = userRecord.Id, DisplayName = userRecord.DisplayName, NewEmail = userRecord.Email, EmailConfirmed = userRecord.EmailConfirmed, BirthdayDays = DayPickList(userRecord.Birthday.Day), BirthdayMonths = MonthPickList(userRecord.Birthday.Month), BirthdayDay = userRecord.Birthday.Day.ToString(), BirthdayMonth = userRecord.Birthday.Month.ToString(), FrontPage = userRecord.FrontPage, FrontPageOptions = FrontPagePickList(userRecord.FrontPage), MessagesPerPage = userRecord.MessagesPerPage, PopularityLimit = userRecord.PopularityLimit, Poseys = userRecord.Poseys, ShowFavicons = userRecord.ShowFavicons ?? true, TopicsPerPage = userRecord.TopicsPerPage }; return(View(nameof(Details), viewModel)); } }
public async Task <IActionResult> UpdateAvatar(InputModels.UpdateAvatarInput input) { if (ModelState.IsValid) { var serviceResponse = await AccountRepository.UpdateAvatar(input); return(await ForumViewResult.RedirectFromService(this, serviceResponse, FailureCallback)); } return(await FailureCallback()); async Task <IActionResult> FailureCallback() { var userRecord = input.Id is null ? UserContext.ApplicationUser : await UserManager.FindByIdAsync(input.Id); if (userRecord is null) { userRecord = UserContext.ApplicationUser; } AccountRepository.CanEdit(userRecord.Id); var viewModel = new ViewModels.Account.DetailsPage { AvatarPath = userRecord.AvatarPath, Id = userRecord.Id, DisplayName = userRecord.DisplayName, NewEmail = userRecord.Email, EmailConfirmed = userRecord.EmailConfirmed, BirthdayDays = DayPickList(userRecord.Birthday.Day), BirthdayMonths = MonthPickList(userRecord.Birthday.Month), BirthdayYears = YearPickList(userRecord.Birthday.Year), BirthdayDay = userRecord.Birthday.Day.ToString(), BirthdayMonth = userRecord.Birthday.Month.ToString(), BirthdayYear = userRecord.Birthday.Year.ToString(), }; return(ForumViewResult.ViewResult(this, nameof(Details), viewModel)); } }
public async Task <IActionResult> Details(InputModels.UpdateAccountInput input) { if (ModelState.IsValid) { var serviceResponse = await AccountRepository.UpdateAccount(input); return(await ForumViewResult.RedirectFromService(this, serviceResponse, FailureCallback)); } return(await FailureCallback()); async Task <IActionResult> FailureCallback() { var userRecord = (await AccountRepository.Records()).First(item => item.Id == input.Id); AccountRepository.CanEdit(userRecord.Id); var viewModel = new ViewModels.Account.DetailsPage { DisplayName = input.DisplayName, NewEmail = input.NewEmail, AvatarPath = userRecord.AvatarPath, Id = userRecord.Id, EmailConfirmed = userRecord.EmailConfirmed, BirthdayDays = DayPickList(input.BirthdayDay), BirthdayMonths = MonthPickList(input.BirthdayMonth), BirthdayDay = input.BirthdayDay.ToString(), BirthdayMonth = input.BirthdayMonth.ToString(), FrontPage = userRecord.FrontPage, FrontPageOptions = FrontPagePickList(userRecord.FrontPage), MessagesPerPage = userRecord.MessagesPerPage, PopularityLimit = userRecord.PopularityLimit, Poseys = userRecord.Poseys, ShowFavicons = userRecord.ShowFavicons, TopicsPerPage = userRecord.TopicsPerPage }; return(await ForumViewResult.ViewResult(this, viewModel)); } }