public IActionResult Update(int id, string co) { if (ModelState.IsValid) { try { Obiekt = uni.Obiekt(co); //var klucze = uni.PartsOfPrimaryKey(Obiekt); var Item = uni.ReadTAsync(id, Obiekt).Result; List <string> wartosci = new List <string>(); //ListaKluczyObcych = new List<string>(); List <string> Naglowki = new List <string>(); // Konstruktor //IEnumerable<IForeignKey> foreignKeys = Db.Model.FindEntityType($"SGGWPZ.Models.{co}").GetForeignKeys(); //foreach (var foreignKey in foreignKeys) // ListaKluczyObcych.Add(foreignKey.PrincipalKey.ToString().Split(' ')[1].Split("PK")[0]); List <string> ListaKluczy = uni.PartsOfAlternativeKey(Obiekt); foreach (var item in Item.GetType().GetProperties()) { Naglowki.Add(item.Name); wartosci.Add(Convert.ToString(Item.GetType().GetProperty(item.Name).GetValue(Item))); } ViewItem viewItem = new ViewItem(); viewItem.Nazwa = co; viewItem.Naglowki = Naglowki; viewItem.Wartosci = wartosci; return(View("Update", viewItem)); } catch (Exception ex) { Message = ex.Message; if (ex.InnerException != null) { InnerMessage = ex.InnerException.Message.ToString(); } return(View()); } } return(View("Lista", co)); }
public async Task <ActionResult> Zaloguj(Uzytkownik uzytkownik) { var konto = _db.Uzytkownik.Where(u => u.login == uzytkownik.login && u.haslo == uzytkownik.haslo).FirstOrDefault(); if (konto != null) { HttpContext.Session.SetString("uzytkownikId", konto.uzytkownikId.ToString()); HttpContext.Session.SetString("login", konto.login); var rk = await uni.ReadTAsync(konto.rodzajuzytkownikaId, uni.Obiekt("Rodzaj_uzytkownika")); string rodzkonta = rk.GetType().GetProperty("rodzajuzytkownika").GetValue(rk); HttpContext.Session.SetString("rodzaj_konta", rodzkonta); return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Podane dane do logowania są niepoprawne!"); } return(View()); }
public IActionResult Update(int id, string co) { if (ModelState.IsValid && HttpContext.Session.GetString("rodzaj_konta") == "Admin" || HttpContext.Session.GetString("rodzaj_konta") == "Sekretarka" && co == "Rezerwacja") { try { Obiekt = uni.Obiekt(co); var Item = uni.ReadTAsync(id, Obiekt).Result; List <string> wartosci = new List <string>(); //ListaKluczyObcych = new List<string>(); List <string> Naglowki = new List <string>(); // Konstruktor List <Dictionary <string, string> > ListaListNazw = new List <Dictionary <string, string> >(); List <string> ListaKluczy = uni.PartsOfAlternativeKey(Obiekt); foreach (var item in Item.GetType().GetProperties()) { // Jezeli obiekt ma klucze obce if (item.Name != Obiekt.GetType().GetProperties()[0].Name && item.Name.Contains("Id")) { string nazwa = ""; foreach (var item2 in Db.GetType().GetProperties()) { if (item2.Name.ToLower().Replace("_", "").Contains(item.Name.Split("I")[0].ToLower())) { nazwa = item2.Name; } } IEnumerable <dynamic> lista = uni.ReadAllT(uni.Obiekt(nazwa)); Dictionary <string, string> listanazw = new Dictionary <string, string>(); if (HttpContext.Session.GetString("rodzaj_konta") == "Sekretarka" && nazwa == "Uzytkownik") { //List<dynamic> lista2 = lista.ToList(); var kto = lista.ToList().FirstOrDefault(u => u.login == HttpContext.Session.GetString("login")); string key = Convert.ToString(kto.GetType().GetProperty("login").GetValue(kto)); listanazw[key] = Convert.ToString(kto.GetType().GetProperty("uzytkownikId").GetValue(kto)); } else { foreach (var item2 in lista) { string key = item2.GetType().GetProperties()[1].GetValue(item2); listanazw[key] = Convert.ToString(item2.GetType().GetProperties()[0].GetValue(item2)); } } ListaListNazw.Add(listanazw); } Naglowki.Add(item.Name); wartosci.Add(Convert.ToString(Item.GetType().GetProperty(item.Name).GetValue(Item))); } ViewItem viewItem = new ViewItem(); viewItem.Nazwa = co; viewItem.Naglowki = Naglowki; viewItem.Wartosci = wartosci; viewItem.ListaNazwKluczyObcych = ListaListNazw; return(View("Update", viewItem)); } catch (Exception ex) { Message = ex.Message; if (ex.InnerException != null) { InnerMessage = ex.InnerException.Message.ToString(); } return(View()); //item.ErrorMessage = ex.Message.ToString(); //item.Wartosci = item.Naglowki.DefaultIfEmpty().ToList(); // Nie wiem jak ale dziala xd //item.ListaNazwKluczyObcych = GetListOfDictFK(uni.Obiekt(item.Nazwa)); //if (ex.InnerException != null) { item.ErrorMessage += "\n" + ex.InnerException.Message.ToString(); }; //return View("Update", item); } } else { return(RedirectToAction("Zaloguj", "Home", "")); } //return View("Lista", co); }