public async Task <IActionResult> Index() { User user = await _userService.GetDetails(GetActiveUserId()); int householdCount = await _userService .FamilyMemberCountAsync(user.HouseholdHeadUserId ?? user.Id); var branchList = await _siteService.GetBranches(user.SystemId); var systemList = await _siteService.GetSystemList(); var programList = await _siteService.GetProgramList(); var userProgram = programList.Where(_ => _.Id == user.ProgramId).SingleOrDefault(); var programViewObject = _mapper.Map <List <ProgramViewModel> >(programList); ProfileDetailViewModel viewModel = new ProfileDetailViewModel() { User = user, HouseholdCount = householdCount, HasAccount = !string.IsNullOrWhiteSpace(user.Username), RequirePostalCode = (await GetCurrentSiteAsync()).RequirePostalCode, ShowAge = userProgram.AskAge, ShowSchool = userProgram.AskSchool, HasSchoolId = user.SchoolId.HasValue, ProgramJson = Newtonsoft.Json.JsonConvert.SerializeObject(programViewObject), BranchList = new SelectList(branchList.ToList(), "Id", "Name"), SystemList = new SelectList(systemList.ToList(), "Id", "Name"), ProgramList = new SelectList(programList.ToList(), "Id", "Name") }; var districtList = await _schoolService.GetDistrictsAsync(); if (user.SchoolId.HasValue) { var schoolDetails = await _schoolService.GetSchoolDetailsAsync(user.SchoolId.Value); var typeList = await _schoolService.GetTypesAsync(schoolDetails.SchoolDisctrictId); viewModel.SchoolDistrictList = new SelectList(districtList.ToList(), "Id", "Name", schoolDetails.SchoolDisctrictId); viewModel.SchoolTypeList = new SelectList(typeList.ToList(), "Id", "Name", schoolDetails.SchoolTypeId); viewModel.SchoolList = new SelectList(schoolDetails.Schools.ToList(), "Id", "Name"); } else { viewModel.SchoolDistrictList = new SelectList(districtList.ToList(), "Id", "Name"); } return(View(viewModel)); }
public IActionResult Index() { var viewModel = new ProfileDetailViewModel(); Guid userId; var userIdClaim = this.User.Claims.FirstOrDefault(f => f.Type == ClaimTypes.NameIdentifier); var user = this.usersManager.GetItem(Guid.TryParse(userIdClaim.Value, out userId) ? userId : Guid.Empty) as User; if (user != null) { viewModel.Id = user.Id; viewModel.Name = $"{user.FirstName} {user.LastName}"; viewModel.Email = user.Email; viewModel.Image = string.IsNullOrEmpty(user.Image) ? "/images/default-user-profile-image.svg" : user.Image; viewModel.IsExternal = user.IsExternal; viewModel.PersonalInformationViewModel = new ProfilePersonalInformationViewModel() { FirstName = user.FirstName, LastName = user.LastName, }; viewModel.CarInformationViewModel = new ProfileCarInformationViewModel(); var car = (this.carsManager.GetItems() as IEnumerable <Car>).Where(c => c.OwnerId == user.Id).FirstOrDefault(); if (car != null) { viewModel.CarInformationViewModel.Brand = car.Brand; viewModel.CarInformationViewModel.Model = car.Model; viewModel.CarInformationViewModel.Seats = car.Seats; viewModel.CarInformationViewModel.FuelType = car.FuelType.ToString().ToLower(); } } return(View(viewModel)); }
public ProfileDetail() { vm = new ProfileDetailViewModel(); BindingContext = vm; InitializeComponent(); }
public async Task <IActionResult> Index(ProfileDetailViewModel model) { var site = await GetCurrentSiteAsync(); var program = await _siteService.GetProgramByIdAsync(model.User.ProgramId); if (site.RequirePostalCode && string.IsNullOrWhiteSpace(model.User.PostalCode)) { ModelState.AddModelError("User.PostalCode", "The Zip Code field is required."); } if (program.AgeRequired && !model.User.Age.HasValue) { ModelState.AddModelError("User.Age", "The Age field is required."); } if (program.SchoolRequired && !model.User.EnteredSchoolId.HasValue) { if (!model.NewEnteredSchool && !model.User.SchoolId.HasValue) { ModelState.AddModelError("User.SchoolId", "The School field is required."); } else if (model.NewEnteredSchool && string.IsNullOrWhiteSpace(model.User.EnteredSchoolName)) { ModelState.AddModelError("User.EnteredSchoolName", "The School Name field is required."); } } if (model.NewEnteredSchool && !model.SchoolDistrictId.HasValue && ((program.AskSchool && !string.IsNullOrWhiteSpace(model.User.EnteredSchoolName)) || program.SchoolRequired)) { ModelState.AddModelError("SchoolDistrictId", "The School District field is required."); } if (ModelState.IsValid) { try { bool hasSchool = false; if (!program.AskAge) { model.User.Age = null; } if (program.AskSchool) { hasSchool = true; if (model.NewEnteredSchool || model.User.EnteredSchoolId.HasValue) { model.User.SchoolId = null; } else { model.User.EnteredSchoolId = null; model.User.EnteredSchoolName = null; } } await _userService.Update(model.User, hasSchool, model.SchoolDistrictId); AlertSuccess = "Updated profile"; return(RedirectToAction("Index")); } catch (GraException gex) { ShowAlertDanger("Unable to update profile: ", gex); } } var branchList = await _siteService.GetBranches(model.User.SystemId); if (model.User.BranchId < 1) { branchList = branchList.Prepend(new Branch() { Id = -1 }); } var systemList = await _siteService.GetSystemList(); var programList = await _siteService.GetProgramList(); var programViewObject = _mapper.Map <List <ProgramViewModel> >(programList); model.BranchList = new SelectList(branchList.ToList(), "Id", "Name"); model.SystemList = new SelectList(systemList.ToList(), "Id", "Name"); model.ProgramList = new SelectList(programList.ToList(), "Id", "Name"); model.ProgramJson = Newtonsoft.Json.JsonConvert.SerializeObject(programViewObject); model.RequirePostalCode = site.RequirePostalCode; model.ShowAge = program.AskAge; model.ShowSchool = program.AskSchool; var districtList = await _schoolService.GetDistrictsAsync(); if (model.User.SchoolId.HasValue) { var schoolDetails = await _schoolService.GetSchoolDetailsAsync(model.User.SchoolId.Value); var typeList = await _schoolService.GetTypesAsync(schoolDetails.SchoolDisctrictId); model.SchoolDistrictList = new SelectList(districtList.ToList(), "Id", "Name", schoolDetails.SchoolDisctrictId); model.SchoolTypeList = new SelectList(typeList.ToList(), "Id", "Name", schoolDetails.SchoolTypeId); model.SchoolList = new SelectList(schoolDetails.Schools.ToList(), "Id", "Name"); } else { model.SchoolDistrictList = new SelectList(districtList.ToList(), "Id", "Name"); if (model.SchoolDistrictId.HasValue) { var typeList = await _schoolService.GetTypesAsync(model.SchoolDistrictId); model.SchoolTypeList = new SelectList(typeList.ToList(), "Id", "Name", model.SchoolTypeId); var schoolList = await _schoolService.GetSchoolsAsync(model.SchoolDistrictId, model.SchoolTypeId); model.SchoolList = new SelectList(schoolList.ToList(), "Id", "Name"); } } return(View(model)); }
public LoadProfileDetailsCommand(int accountId, ProfileDetailViewModel viewModel) { _accountId = accountId; _viewModel = viewModel; }