コード例 #1
0
 public void Fill(string partijid, ZetelObject zo)
 {
     this.PartijID     = partijid.Trim().ToUpper();
     this.AantalZetels = zo.AantalZetels;
     this.VanDatum     = zo.VanDatum;
     this.TotDatum     = zo.TotDatum;
 }
コード例 #2
0
        public ActionResult Edit(PartijenVM partijenVM)
        {
            string title = "Bewerken";
            string level = "";
            string msg   = "";

            if (ModelState.IsValid)
            {
                partijenVM.CheckZetels();

                if (partijenVM.ZetelError)
                {
                    level = partijenVM.MessageSection.Error;
                    msg   = "ERROR - periodes overlappen of periodes hebben einddatum die voor de begindatum ligt";
                    partijenVM.MessageSection.SetMessage(title, level, msg);
                    if (!((partijenVM.ZetelLijst[0].VanDatum == DateTime.MinValue) && (partijenVM.ZetelLijst[0].TotDatum == DateTime.MinValue)))
                    {
                        // add null entry
                        ZetelObject extra = new ZetelObject {
                            AantalZetels = 0, VanDatum = DateTime.MinValue, TotDatum = DateTime.MinValue, IncludeIfSelected = false
                        };
                        partijenVM.ZetelLijst.Add(extra);
                    }
                    ModelState.Clear();
                    return(View(partijenVM));
                }

                //var zetels = from o in db.PartijZetels
                //         where o.PartijID == partijenVM.partij.PartijID
                //         select o;
                //foreach (var zd in zetels)
                //{
                //    db.PartijZetels.Remove(zd);
                //    db.SaveChanges();
                //}
                db.PartijZetels.RemoveRange(db.PartijZetels.Where(c => c.PartijID == partijenVM.partij.PartijID.Trim()));

                db.SaveChanges();

                Partijen partijen = new Partijen();
                partijen.Fill(partijenVM);
                db.Partijen.Attach(partijen);
                db.Entry(partijen).State = EntityState.Modified;
                db.SaveChanges();


                foreach (ZetelObject zo in partijenVM.ZetelLijst)
                {
                    PartijZetels pz = new PartijZetels();
                    pz.Fill(partijenVM.partij.PartijID, zo);
                    db.PartijZetels.Add(pz);
                }
                db.SaveChanges();


                TempData["BCmessage"]    = "Partij " + partijenVM.partij.PartijID.Trim() + " is gewijzigd";
                TempData["BCerrorlevel"] = partijenVM.MessageSection.Info;

                return(RedirectToAction("Details", new { PartijID = partijenVM.partij.PartijID }));
            }

            level = partijenVM.MessageSection.Error;
            msg   = "ERROR - Partij " + partijenVM.partij.PartijID.Trim() + " is NIET gewijzigd";
            partijenVM.MessageSection.SetMessage(title, level, msg);
            return(View(partijenVM));
        }
コード例 #3
0
        // GET: Partijen/Edit/5
        public ActionResult Edit(string PartijID)
        {
            PartijenVM partijenVM = new PartijenVM();
            string     title      = "Bewerken";
            string     level      = partijenVM.MessageSection.Info;
            string     msg        = "Bewerk deze partij en selecteer OPSLAAN";

            if (PartijID == null)
            {
                TempData["BCmessage"]    = "Specificeer een geldige Onderwerp ID!";
                TempData["BCerrorlevel"] = partijenVM.MessageSection.Error;

                return(RedirectToAction("Error"));
            }

            Partijen partij = db.Partijen.Find(PartijID);

            if (partij == null)
            {
                TempData["BCmessage"]    = "Partij ID " + PartijID.Trim() + " is niet gevonden";
                TempData["BCerrorlevel"] = partijenVM.MessageSection.Error;

                return(RedirectToAction("Error"));
            }
            var query1 = from p in db.Partijen
                         where p.PartijID == PartijID
                         join s in db.Stemmingen on p.PartijID equals s.PartijID into ljoin1
                         from lj1 in ljoin1.DefaultIfEmpty()
                         join w in db.Wetten on lj1.WetID equals w.WetID into ljoin2
                         from lj2 in ljoin2.DefaultIfEmpty()
                         select new StemObject
            {
                PartijID        = p.PartijID,
                Voor            = lj1 == null ? 0 : lj1.Voor,
                Tegen           = lj1 == null ? 0 : lj1.Tegen,
                Blanco          = lj1 == null ? 0 : lj1.Blanco,
                WetID           = lj1 == null ? "<geen>" : lj1.WetID,
                WetNaam         = lj2 == null ? "nvt" : lj2.WetNaam,
                WetOmschrijving = lj2 == null ? "nvt" : lj2.WetOmschrijving,
                WetLink         = lj2 == null ? "nvt" : lj2.WetLink
            }

            ;

            List <StemObject> stemlijst = query1.ToList();

            var query2 = from p in db.Partijen
                         where p.PartijID == PartijID
                         join z in db.PartijZetels on p.PartijID equals z.PartijID into ljoin1
                         from lj1 in ljoin1.DefaultIfEmpty()
                         select new ZetelObject
            {
                PartijID          = p.PartijID,
                AantalZetels      = lj1 == null ? 0 : lj1.AantalZetels,
                VanDatum          = lj1 == null ? DateTime.MinValue : lj1.VanDatum,
                TotDatum          = lj1 == null ? DateTime.MinValue : lj1.TotDatum,
                IncludeIfSelected = true,
                InError           = lj1 == null ? ZetelObject.Na : " ",
                ErrorMsg          = lj1 == null ? "Na aanvinken kan deze entry worden toegevoegd" : " "
            }

            ;

            List <ZetelObject> zetellijst = query2.ToList();

            if (!((zetellijst[0].VanDatum == DateTime.MinValue) && (zetellijst[0].TotDatum == DateTime.MinValue)))
            {
                // add null entry
                ZetelObject extra = new ZetelObject
                {
                    AantalZetels      = 0,
                    VanDatum          = DateTime.MinValue,
                    TotDatum          = DateTime.MinValue,
                    IncludeIfSelected = true,
                    ErrorMsg          = "Na aanvinken kan deze entry worden toegevoegd",
                    InError           = ZetelObject.Na,
                    PartijID          = PartijID
                };
                zetellijst.Add(extra);
            }

            partijenVM.Fill(partij, stemlijst, zetellijst);

            partijenVM.MessageSection.SetMessage(title, level, msg);

            return(View(partijenVM));
        }