public IActionResult Create(string co) { if (ModelState.IsValid) { try { Obiekt = uni.Obiekt(co); List <string> wartosci = new List <string>(); //ListaKluczyObcych = new List<string>(); List <string> ListaItemowDoDodania = new List <string>(); // Konstruktor List <IEnumerable <dynamic> > ListaListNazw = new List <IEnumerable <dynamic> >(); 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); // Jezeli obiekt ma klucze obce foreach (var item in Obiekt.GetType().GetProperties()) { if (item.Name != Obiekt.GetType().GetProperties()[0].Name && item.Name.Contains("Id")) { string nazwa = ""; foreach (var item2 in Db.GetType().GetProperties()) { if (item.Name.ToLower().Substring(0, 3) == item2.Name.ToLower().Substring(0, 3)) { nazwa = item2.Name; } } IEnumerable <dynamic> lista = uni.ReadAllT(uni.Obiekt(nazwa)); ListaListNazw.Add(lista); } ListaItemowDoDodania.Add(item.Name); wartosci.Add(""); } ViewItem viewItem = new ViewItem(); viewItem.Nazwa = co; viewItem.Naglowki = ListaItemowDoDodania; viewItem.Wartosci = wartosci; return(View("Create", viewItem)); } catch (Exception ex) { Message = ex.Message; if (ex.InnerException != null) { InnerMessage = ex.InnerException.Message.ToString(); } return(View()); } } return(View("Lista", co)); }
public IActionResult Create(string co) { if (ModelState.IsValid && HttpContext.Session.GetString("rodzaj_konta") == "Admin" || HttpContext.Session.GetString("rodzaj_konta") == "Sekretarka" && co == "Rezerwacja") { ViewItem viewItem = new ViewItem(); viewItem.Nazwa = co; try { Obiekt = uni.Obiekt(co); List <string> wartosci = new List <string>(); List <string> ListaItemowDoDodania = new List <string>(); // Konstruktor List <Dictionary <string, string> > ListaListNazw = new List <Dictionary <string, string> >(); foreach (var item in Obiekt.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") { 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); } ListaItemowDoDodania.Add(item.Name); wartosci.Add(""); } // Dodaj pozostale dane do modelu widoku viewItem.Naglowki = ListaItemowDoDodania; viewItem.Wartosci = wartosci; viewItem.ListaNazwKluczyObcych = ListaListNazw; return(View("Create", viewItem)); } catch (Exception ex) { Message = ex.Message; if (ex.InnerException != null) { InnerMessage = ex.InnerException.Message.ToString(); } return(View("Create", viewItem.Nazwa)); } } else { return(RedirectToAction("Zaloguj", "Home", "")); } }