public async Task <IActionResult> IndexIndividual() { ViewData["DBs"] = _databaseContext.DataBase.OrderBy(p => p.Name).ToList(); ViewData["PLs"] = _databaseContext.ProgrammingLanguage.OrderBy(p => p.Name).ToList(); var user = (Individual)await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Nema korisnika sa zadanim ID-em '{_userManager.GetUserId(User)}'."); } var model = new IndexIndividualViewModel { Username = user.UserName, Name = user.Name, Address = user.Address, Email = user.Email, StatusMessage = StatusMessage, About = user.About, City = user.City, DateOfBirth = user.DateOfBirth, Skills = user.Skills, Surname = user.Surname, PhoneNumber = user.PhoneNumber }; return(View(model)); }
public async Task <IActionResult> IndexIndividual(IndexIndividualViewModel model) { ViewData["DBs"] = _databaseContext.DataBase.OrderBy(p => p.Name).ToList(); ViewData["PLs"] = _databaseContext.ProgrammingLanguage.OrderBy(p => p.Name).ToList(); if (!ModelState.IsValid) { return(View(model)); } var user = (Individual)await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Nema korisnika sa zadanim ID-em '{_userManager.GetUserId(User)}'."); } var email = user.Email; if (model.Email != email) { var x = _databaseContext.Individual.FirstOrDefault(g => g.Email == model.Email); var y = _databaseContext.Company.FirstOrDefault(g => g.Email == model.Email); if (x != null || y != null) { TempData[Constants.Message] = $"Korisnik s tim mailom već postoji.\n"; TempData[Constants.ErrorOccurred] = true; return(RedirectToAction(nameof(IndexIndividual))); } var setEmailResult = await _userManager.SetEmailAsync(user, model.Email); if (!setEmailResult.Succeeded) { throw new ApplicationException($"Neočekivana greška se javila prilikom postavljanja e-mail adrese korisnika s ID-em '{user.Id}'."); } var setUserNameResult = await _userManager.SetUserNameAsync(user, model.Email); if (!setEmailResult.Succeeded) { throw new ApplicationException($"Neočekivana greška se javila prilikom postavljanja e-mail adrese korisnika s ID-em '{user.Id}'."); } } var firstName = user.Name; if (model.Name != firstName) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.Name = model.Name; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var lastName = user.Surname; if (model.Surname != lastName) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.Surname = model.Surname; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var address = user.Address; if (model.Address != address) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.Address = model.Address; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var about = user.About; if (model.About != about) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.About = model.About; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var city = user.City; if (model.City != city) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.City = model.City; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var date = user.DateOfBirth; if (model.DateOfBirth != date) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.DateOfBirth = model.DateOfBirth; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var skills = user.Skills; if (model.Skills != skills) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.Skills = model.Skills; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } var phone = user.PhoneNumber; if (model.PhoneNumber != phone) { Individual appuser = _context.Individual.FirstOrDefault(u => u.Id == user.Id); appuser.PhoneNumber = model.PhoneNumber; _context.Entry(appuser).State = EntityState.Modified; _context.SaveChanges(); } TempData[Constants.Message] = $"Vaš profil je promijenjen"; TempData[Constants.ErrorOccurred] = false; return(RedirectToAction(nameof(IndexIndividual))); }