예제 #1
0
        public ActionResult Edit([Bind(Include = "ID,Nazwisko,Imie,DataZatrudnienia,Lokalizacja")] Dydaktyk dydaktyk, string[] wybraneKursy)

        //public ActionResult Edit(Dydaktyk dydaktyk)
        {
            db.Database.Log = s => System.Diagnostics.Debug.Write(s);
            if (ModelState.IsValid)
            {
                //dydaktyk.Lokalizacja.DydaktykID = dydaktyk.ID;
                //if (!String.IsNullOrEmpty(dydaktyk.Lokalizacja.Miejsce))
                //{
                //    if (db.Lokalizacje.Any(l => l.DydaktykID == dydaktyk.ID))
                //    {
                //        db.Entry(dydaktyk.Lokalizacja).State = EntityState.Modified;
                //    }
                //    else
                //    {
                //        db.Lokalizacje.Add(dydaktyk.Lokalizacja);
                //    }
                //}

                ZaktualizujKursyDydaktyka(wybraneKursy, dydaktyk);

                //db.Entry(dydaktyk).State = EntityState.Modified;
                try
                {
                    db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                          eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                              ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                    throw;
                }


                WpiszPrzydzieloneDaneKursu(dydaktyk);


                return(RedirectToAction("Index"));
            }
            ViewBag.ID = new SelectList(db.Lokalizacje, "DydaktykID", "Miejsce", dydaktyk.ID);
            return(View(dydaktyk));
        }
예제 #2
0
        // GET: Dydaktyk/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Dydaktyk dydaktyk = db.Dydaktycy.Include(d => d.Lokalizacja).FirstOrDefault(d => d.ID == id);

            if (dydaktyk == null)
            {
                return(HttpNotFound());
            }
            return(View(dydaktyk));
        }
예제 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            Dydaktyk dydaktyk = db.Dydaktycy.Find(id);
            //dydaktyk.Lokalizacja = null;
            var lok = db.Lokalizacje.FirstOrDefault(f => f.DydaktykID == id);

            db.Lokalizacje.Remove(lok);


            db.Dydaktycy.Remove(dydaktyk);

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #4
0
        // GET: Dydaktyk/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Dydaktyk dydaktyk = db.Dydaktycy.Include(d => d.Lokalizacja).Include(d => d.Kursy).FirstOrDefault(d => d.ID == id);

            WpiszPrzydzieloneDaneKursu(dydaktyk);
            if (dydaktyk == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ID = new SelectList(db.Lokalizacje, "DydaktykID", "Miejsce", dydaktyk.ID);
            return(View(dydaktyk));
        }
예제 #5
0
        private void WpiszPrzydzieloneDaneKursu(Dydaktyk dydaktyk)
        {
            var wszystkieKursy = db.Kursy;
            var kursyDydaktyka = new HashSet <int>(dydaktyk.Kursy.Select(k => k.KursID));
            var viewModel      = new List <PrzydzieloneDaneKursuVM>();

            foreach (var kurs in wszystkieKursy)
            {
                viewModel.Add(new PrzydzieloneDaneKursuVM
                {
                    KursID     = kurs.KursID,
                    Tytuł      = kurs.Tytul,
                    Przypisany = kursyDydaktyka.Contains(kurs.KursID)
                });
                ViewBag.Kursy = viewModel;
            }
        }
예제 #6
0
        public ActionResult Create([Bind(Include = "ID,Nazwisko,Imie,DataZatrudnienia,Lokalizacja")] Dydaktyk dydaktyk)
        {
            if (ModelState.IsValid)
            {
                dydaktyk.Lokalizacja.DydaktykID = dydaktyk.ID;
                if (!String.IsNullOrEmpty(dydaktyk.Lokalizacja.Miejsce))
                {
                    db.Lokalizacje.Add(dydaktyk.Lokalizacja);
                }

                db.Dydaktycy.Add(dydaktyk);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ID = new SelectList(db.Lokalizacje, "DydaktykID", "Miejsce", dydaktyk.ID);
            return(View(dydaktyk));
        }
예제 #7
0
        private void ZaktualizujKursyDydaktyka(string[] wybraneKursy, Dydaktyk dydaktyk)
        {
            dydaktyk.Kursy = new List <Kurs>();

            Dydaktyk dydaktyk2 = db.Dydaktycy.Include(d => d.Lokalizacja).FirstOrDefault(d => d.ID == dydaktyk.ID);

            dydaktyk2.Kursy.Clear();
            dydaktyk2.Imie        = dydaktyk.Imie;
            dydaktyk2.Nazwisko    = dydaktyk.Nazwisko;
            dydaktyk2.Lokalizacja = dydaktyk.Lokalizacja;


            if (wybraneKursy != null)
            {
                foreach (int kursID in wybraneKursy.Select(s => Convert.ToInt32(s)))
                {
                    var item = db.Kursy.Single(k => k.KursID == kursID);
                    //item.Dydaktycy.Add(dydaktyk2);
                    //db.Entry(item).State = EntityState.Modified;
                    dydaktyk2.Kursy.Add(item);
                }
            }
        }
예제 #8
0
        protected override void Seed(RejestrSzkolen.DAL.RejestrContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //
            var d1 = new Dydaktyk()
            {
                ID = 1234, Imie = "Jan", Nazwisko = "Kowalski", DataZatrudnienia = DateTime.Parse("2012-02-11")
            };

            d1.Lokalizacja = new Lokalizacja()
            {
                Miejsce = "Mokotów", DydaktykID = 1234, Dydaktyk = d1
            };

            context.Dydaktycy.AddOrUpdate(d => d.Nazwisko, d1);
            context.SaveChanges();

            var j1 = new Jednostka();

            j1.JednostkaID   = 1234;
            j1.Nazwa         = "Finanse";
            j1.Budget        = 10000;
            j1.Administrator = d1;

            context.Jednostki.AddOrUpdate(j => j.Nazwa, j1);
            context.SaveChanges();
        }