コード例 #1
0
ファイル: AdminController.cs プロジェクト: szymszyk/SGGWPZ2
        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));
        }
コード例 #2
0
ファイル: AdminController.cs プロジェクト: szymszyk/SGGWPZ2
        public async Task <IActionResult> Create(ViewItem item)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Obiekt = uni.Obiekt(item.Nazwa);
                    //List<string> ListaItemowDoDodania = cos.Naglowki;

                    //ListaKluczy = uni.PartsOfPrimaryKey(uni.Obiekt(cos.Nazwa));

                    for (int a = 0; a < item.Naglowki.Count; a++)
                    {
                        try
                        {
                            Obiekt.GetType().GetProperty(item.Naglowki[a])
                            .SetValue(Obiekt, item.Wartosci[a]);
                        }
                        catch (Exception)
                        { // Jesli wartosc jest intem
                            Obiekt.GetType().GetProperty(item.Naglowki[a])
                            .SetValue(Obiekt, Convert.ToInt32(item.Wartosci[a]));
                        }
                    }
                    await uni.CreateTAsync(Obiekt);

                    return(View("Index", new ViewLista(item.Naglowki, uni.ReadAllT(Obiekt), item.Nazwa)));
                }
                catch (Exception ex)
                {
                    Message = ex.Message.ToString();
                    if (ex.InnerException != null)
                    {
                        InnerMessage = ex.InnerException.Message.ToString();
                    }
                    ;
                }
            }

            return(View("Lista"));
        }
コード例 #3
0
ファイル: AdminController.cs プロジェクト: szymszyk/SGGWPZ2
        public IActionResult Index(string co)
        {
            Obiekt = uni.Obiekt(co);

            List <string> ListaItemowDoDodania = new List <string>();

            foreach (var item in Obiekt.GetType().GetProperties())
            {
                ListaItemowDoDodania.Add(item.Name);
            }

            IEnumerable <dynamic> lista = uni.ReadAllT(uni.Obiekt(co));

            ViewLista viewLista = new ViewLista(ListaItemowDoDodania, lista, co);

            //Wykladowcy wykladowcy = new Wykladowcy();
            //wykladowcy.GetType().GetProperties()[0].SetValue(wykladowcy, 3);
            //var wyk = wykladowcy.GetType().GetProperty("wykladowcyId").GetValue(wykladowcy);

            return(View("Index", viewLista));
        }