public async Task <IActionResult> ConfirmProfile(string id) { //middels userid wordt user opgehaald var userid = id; var currentUser = await userManager.FindByIdAsync(userid); if (currentUser == null) { ViewBag.ErrorMessage = $"User with Id = {userid} cannot be found"; return(View(@"~/Views/Account/NotFound.cshtml")); } //jsonobject wordt uit de property new profile gehaald var jsonProfile = currentUser.NewProfile; //huidige profiel zoals die is en was var currentProfile = new ProfileViewModel { Id = currentUser.Id, UserName = currentUser.UserName, FirstName = currentUser.Firstname, LastName = currentUser.Lastname, Street = currentUser.Street, PhoneNumber = currentUser.PhoneNumber, Zipcode = currentUser.Zipcode, City = currentUser.City, Country = currentUser.Country, BankNumber = currentUser.BankNumber, ProfileImageUrl = currentUser.ProfileImageUrl }; //de jsonobject met nieuwe profiel wordt opgehaald var x = JsonConvert.DeserializeObject <ApplicationUser>(jsonProfile); //de jsonobject met nieuwe profiel wordt omgezet naar de juiste model var tempProfile = new ProfileViewModel { Id = userid, UserName = currentUser.UserName, FirstName = currentUser.Firstname, LastName = currentUser.Lastname, Street = x.Street, PhoneNumber = x.PhoneNumber, Zipcode = x.Zipcode, City = x.City, Country = x.Country, BankNumber = x.BankNumber, ProfileImageUrl = x.ProfileImageUrl }; var profiles = new ConfirmProfileViewModel(); //huidige profiel is currentProfile //nieuwe profiel is tempProfile //deze profielen worden samengevoegd in een model om door te geven aan de view profiles.Profiles.Add(tempProfile); //index 0 profiles.Profiles.Add(currentProfile); //index 1 return(View(@"~/Views/Account/Profile/ConfirmProfile.cshtml", profiles)); }
public async Task <IActionResult> AcceptedProfile(ConfirmProfileViewModel model) { //deze actie kan alleen de admin uitvoeren //ingelogde user moet een admin zijn //huidige admin user object wordt opgehaald var adminid = userManager.GetUserId(HttpContext.User); var adminuser = await userManager.FindByIdAsync(adminid); //user van te beoordelen profiel wordt uit de model gehaald middels userid var userid = model.Profiles[0].Id; ApplicationUser currentUser = await userManager.FindByIdAsync(userid); if (currentUser == null) { ViewBag.ErrorMessage = $"User with Id = {userid} cannot be found"; return(View("NotFound")); } //nieuwe profiel wordt erin gezet door tempprofile over te nemen naar currentprofile else { currentUser.Street = model.Profiles[0].Street; currentUser.PhoneNumber = model.Profiles[0].PhoneNumber; currentUser.Zipcode = model.Profiles[0].Zipcode; currentUser.City = model.Profiles[0].City; currentUser.Country = model.Profiles[0].Country; currentUser.BankNumber = model.Profiles[0].BankNumber; currentUser.ProfileImageUrl = model.Profiles[0].ProfileImageUrl; currentUser.NewProfile = null; // Update the user using UpdateAsync var result = await userManager.UpdateAsync(currentUser); if (result.Succeeded) { var activeUser = userManager.FindByIdAsync(userManager.GetUserId(HttpContext.User)).Result; // activiteit wordt gelogd repox.LogActivity(activeUser, "AcceptedProfile", $"{activeUser.Firstname[0]}. {activeUser.Lastname} heeft profielverzoek van {currentUser.Firstname[0]}. {currentUser.Lastname} goedgekeurd."); // mail wordt naar gebruiker verstuurd met bericht goedkeuring mailServer.SendAcceptedProfileMail(currentUser.UserName, currentUser.Firstname, currentUser.Lastname, adminuser.Firstname, adminuser.Lastname); return(View(@"~/Views/Account/Profile/StatusProfile.cshtml")); } return(View(currentUser)); } }
public async Task <IActionResult> DeniedProfile(ConfirmProfileViewModel model) { //deze actie kan alleen de admin uitvoeren //ingelogde user moet een admin zijn //huidige admin user object wordt opgehaald var adminid = userManager.GetUserId(HttpContext.User); var adminuser = await userManager.FindByIdAsync(adminid); //user van te beoordelen profiel wordt uit de model gehaald middels userid var userid = model.Profiles[0].Id; ApplicationUser currentUser = await userManager.FindByIdAsync(userid); if (currentUser == null) { ViewBag.ErrorMessage = $"User with Id = {userid} cannot be found"; return(View("NotFound")); } else { //de wijzigen in het profiel dat werd opgeslagen in de newprofile property wordt leeg gemaakt. omdat het profiel is afgekeurd currentUser.NewProfile = null; // Update the user using UpdateAsync var result = await userManager.UpdateAsync(currentUser); if (result.Succeeded) { var activeUser = userManager.FindByIdAsync(userManager.GetUserId(HttpContext.User)).Result; //activiteit wordt gelogd repox.LogActivity(activeUser, "DeniedProfile", $"{activeUser.Firstname[0]}. {activeUser.Lastname} heeft profielverzoek van {currentUser.Firstname[0]}. {currentUser.Lastname} afgewezen."); //er wordt een mail verzonden aan de gebruiker, dat profiel is afgekeurd mailServer.SendDeclinedProfileMail(currentUser.UserName, currentUser.Firstname, currentUser.Lastname, adminuser.Firstname, adminuser.Lastname); return(View(@"~/Views/Account/Profile/DeniedProfile.cshtml")); } return(View(currentUser)); } }