public IActionResult Uredi(int korisnikID) { Osoba o = db.Osobe.Include(x => x.Grad).ThenInclude(k => k.Regija).FirstOrDefault(x => x.OsobaID == korisnikID); Korisnik korisnik = db.Korisnici.FirstOrDefault(x => x.KorisnikID == korisnikID); TipKorisnika tip; if (korisnik.IsAdmin) { tip = TipKorisnika.Administrator; } else if (korisnik.IsPoslovodja) { tip = TipKorisnika.Poslovodja; } else { tip = TipKorisnika.ClanUprave; } KorisniciDodajViewModel vm = GetDefaultViewModel(new KorisniciDodajViewModel() { Osoba = o, Korisnik = korisnik, DrzavaID = o.Grad.Regija.DrzavaID, RegijaID = o.Grad.RegijaID, TipKorisnika = tip }); return(View(vm)); }
private KorisniciDodajViewModel GetDefaultViewModel(KorisniciDodajViewModel model) { model.Osoba = model.Osoba ?? new Models.Osoba(); model.Korisnik = model.Korisnik ?? new Models.Korisnik(); model.Gradovi = model.Gradovi ?? dropdown.Gradovi(); model.Regije = model.Regije ?? dropdown.Regije(); model.Drzave = model.Drzave ?? dropdown.Drzave(); model.Uloge = model.Uloge ?? dropdown.Uloge(); return(model); }
public IActionResult Dodaj(KorisniciDodajViewModel model) { if (!ModelState.IsValid) { return(View(GetDefaultViewModel(model))); } Osoba osoba = model.Osoba; db.Osobe.Add(osoba); Korisnik korisnik = model.Korisnik; korisnik.KorisnikID = osoba.OsobaID; string lozinka = Sigurnost.GenerisiPassword(10, false); korisnik.LozinkaHash = Sigurnost.GenerisiHash(lozinka); korisnik.DatumRegistracije = DateTime.Now; korisnik.Aktivan = true; korisnik.PromijenioLozinku = false; string poruka = $"Poštovani {osoba.Ime} {osoba.Prezime}, na sistem se možete logovati sa sljedećim podacima:\nEmail: [<strong>{osoba.Email}</strong>]\nLozinka: [<strong>{lozinka}</strong>]\n\nNapomena: Prilikom prvog logiranja morate promijeniti vašu lozinku."; emailSender.SendEmailAsync(osoba.Email, "Pristupni podaci", poruka); if (model.TipKorisnika == TipKorisnika.Administrator) { korisnik.IsAdmin = true; korisnik.IsClanUprave = korisnik.IsPoslovodja = false; } else if (model.TipKorisnika == TipKorisnika.Poslovodja) { korisnik.IsPoslovodja = true; korisnik.IsAdmin = korisnik.IsClanUprave = false; } else { korisnik.IsClanUprave = true; korisnik.IsPoslovodja = korisnik.IsAdmin = false; } db.Korisnici.Add(korisnik); db.SaveChanges(); return(RedirectToAction(nameof(Index))); }
public IActionResult Uredi(KorisniciDodajViewModel viewModel) { if (!ModelState.IsValid) { return(View(GetDefaultViewModel(viewModel))); } Osoba o = viewModel.Osoba; db.Osobe.Update(o); Korisnik k = viewModel.Korisnik; k.KorisnikID = o.OsobaID; db.Korisnici.Update(k); db.SaveChanges(); return(RedirectToAction(nameof(Index))); }