コード例 #1
0
        // GET: Admin/Netzbetreiber/CreateRelationship/12001234
        public ActionResult CreateRelationship(int?bnr, string returnURL)
        {
            if (bnr == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Netzbetreiber nb = db.Netzbetreiber.GetByID(bnr);

            if (nb == null)
            {
                return(HttpNotFound());
            }
            //Erzeuge ViewModel
            EditRelationshipViewModel vm = new EditRelationshipViewModel()
            {
                BNR           = nb.BNR,
                Netzbetreiber = nb,
                Confirmed     = false,
                UserList      = new List <SelectListItem>()
            };

            //Füge Liste der Nutzer dem ViewModel hinzu
            foreach (ApplicationUser user in db.Users.Get())
            {
                vm.UserList.Add(new SelectListItem()
                {
                    Text = user.UserName, Value = user.Id
                });
            }
            ViewBag.returnURL = returnURL;
            return(View(vm));
        }
コード例 #2
0
        public ActionResult Create(
            [Bind(Include = "BNR,Name,Rechtsform,StrasseHausNr,PLZOrt,VereinfachtesVerfahren")]
            Netzbetreiber netzbetreiber)
        {
            if (ModelState.IsValid)
            {
                Netzbetreiber nb = db.Netzbetreiber.GetByID(netzbetreiber.BNR);
                if (nb != null)
                {
                    ViewBag.ErrorText = "Die angegebene BNR ist bereits vergeben.";
                    return(View(netzbetreiber));
                }
                if ((netzbetreiber.BNR < 12000000) || (netzbetreiber.BNR > 12009999))
                {
                    ViewBag.ErrorText = "Die angegebene BNR ist ungültig.";
                    return(View(netzbetreiber));
                }
                //BNR ist gültig und noch nicht vergeben
                db.Netzbetreiber.Insert(netzbetreiber);
                db.Save();
                return(RedirectToAction("Index"));
            }

            return(View(netzbetreiber));
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            Netzbetreiber netzbetreiber = db.Netzbetreiber.GetByID(id);

            db.Netzbetreiber.Delete(netzbetreiber);
            db.Save();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
 public ActionResult CreateGrid(GridViewModel vm)
 {
     if (ModelState.IsValid)
     {
         //Daten holen
         Regulierungsperiode rp = db.Regulierungsperioden.GetByID(vm.RegPId);
         if (rp == null)
         {
             return(HttpNotFound());
         }
         Netzbetreiber nb = db.Netzbetreiber.GetByID(vm.BNR);
         if (nb == null)
         {
             return(HttpNotFound());
         }
         //Neues Netz erzeugen
         Netz netz = new Netz()
         {
             BNR                 = vm.BNR,
             NetzNr              = vm.NetzNr,
             NetzName            = vm.NetzName,
             Netzbetreiber       = nb,
             RegPId              = vm.RegPId,
             Regulierungsperiode = rp,
             EOGs                = new List <EOG>(),
             Basisjahr           = new Basisjahr()
         };
         //Werte fürs Basisjahr zuordnen
         netz.Basisjahr.Netz                  = netz;
         netz.Basisjahr.Netzkosten            = vm.Netzkosten;
         netz.Basisjahr.KAdnb                 = vm.KAdnb;
         netz.Basisjahr.Effizienzwert         = vm.Effizienzwert;
         netz.Basisjahr.Verteilungsfaktor     = vm.Verteilungsfaktor;
         netz.Basisjahr.RestwertNetzanlagen   = vm.RestwertNetzanlagen;
         netz.Basisjahr.RestwertRegelanlagen  = vm.RestwertRegelanlagen;
         netz.Basisjahr.VersorgteFlaeche      = vm.VersorgteFlaeche;
         netz.Basisjahr.AnzahlAusspeisepunkte = vm.AnzahlAusspeisepunkte;
         netz.Basisjahr.Jahreshoechstlast     = vm.Jahreshoechstlast;
         netz.Basisjahr.StartDate             = vm.StartDate;
         netz.Basisjahr.EndDate               = vm.EndDate;
         //EOGs erzeugen
         int dauerRp = (rp.EndDate.Year - rp.StartDate.Year + 1);
         for (int i = 1; i <= dauerRp; i++)
         {
             netz.EOGs.Add(new EOG(netz.Basisjahr, i));
             netz.EOGs.ElementAt(i - 1).Netz      = netz;
             netz.EOGs.ElementAt(i - 1).StartDate = rp.StartDate.AddYears(i - 1);
         }
         db.Netze.Insert(netz);
         db.Save();
         return(RedirectToAction("Details", new { id = vm.BNR }));
     }
     return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
 }
コード例 #5
0
 public ActionResult Edit(
     [Bind(Include = "BNR,Name,Rechtsform,StrasseHausNr,PLZOrt,VereinfachtesVerfahren")]
     Netzbetreiber netzbetreiber)
 {
     if (ModelState.IsValid)
     {
         db.Netzbetreiber.Update(netzbetreiber);
         db.Save();
         return(RedirectToAction("Index"));
     }
     return(View(netzbetreiber));
 }
コード例 #6
0
        // GET: Admin/Netzbetreibers/Details/5
        public ActionResult Details(int?id, int?rpId, string returnURL)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Netzbetreiber netzbetreiber = db.Netzbetreiber.GetByID(id);

            if (netzbetreiber == null)
            {
                return(HttpNotFound());
            }
            //Wenn keine RegPId angegeben wurde, liefere die zum aktuellen Zeitpunkt aktuelle RegP, sonst die angegebene RegP.
            Regulierungsperiode rp;

            if (rpId == null)
            {
                //Hole aktuelle RegP, falls keine rpId angegeben wurde
                rp = db.Regulierungsperioden.Get(
                    o => o.StartDate <= DateTime.Now &&
                    o.EndDate >= DateTime.Now).FirstOrDefault();
            }
            else
            {
                //Hole angegebene RP
                rp = db.Regulierungsperioden.GetByID(rpId);
            }
            if (rp != null)
            {
                //Es wurde eine RP gefunden
                EOGViewModel vm = new EOGViewModel()
                {
                    RegPNumber    = rp.RegPId,
                    RegPStart     = rp.StartDate,
                    RegPEnd       = rp.EndDate,
                    RegPMax       = db.Regulierungsperioden.dbSet.Max(r => r.RegPId),
                    Netzbetreiber = new List <Netzbetreiber>()
                };
                //Nur die Netze übernehmen, die in der aktuellen RP vorhanden sind
                netzbetreiber.Netze = (from n in netzbetreiber.Netze
                                       where n.RegPId == rp.RegPId
                                       select n).ToList();
                vm.Netzbetreiber.Add(netzbetreiber);
                ViewBag.ReturnURL = returnURL;
                return(View(vm));
            }
            //Es wurde keine RP gefunden
            return(HttpNotFound());
        }
コード例 #7
0
        // GET: Admin/Netzbetreibers/Delete/5
        public ActionResult Delete(int?id, string returnURL)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Netzbetreiber netzbetreiber = db.Netzbetreiber.GetByID(id);

            if (netzbetreiber == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ReturnURL = returnURL;
            return(View(netzbetreiber));
        }
コード例 #8
0
 public ActionResult CreateRelationship([Bind(Include = "BNR")] IndexViewModel model)
 {
     if (model.BNR != null) // Es wurde eine BNR gepostet.
     {
         string userId = User.Identity.GetUserId();
         // Den User NICHT über den UserManager holen, da dieser einen eigenen DbContext hat und dann mehrere
         // ChangeTracker existieren, die Probleme verursachen.
         ApplicationUser user = db.Users.GetByID(userId);
         Netzbetreiber   nb   = db.Netzbetreiber.GetByID(model.BNR);
         if (nb != null) // Der NB existiert, der verknüpft werden soll.
         {
             UserNetzbetreiberRelationship rs = db.UserNetzbetreiberRelationships.GetByID(user.Id, nb.BNR);
             if (rs == null)
             {
                 // Die RS ist nicht bereits vorhanden
                 rs = new UserNetzbetreiberRelationship()
                 {
                     BNR           = Convert.ToInt32(model.BNR),
                     Netzbetreiber = nb,
                     Id            = user.Id,
                     User          = user,
                     Confirmed     = false
                 };
                 nb.UserRelationships.Add(rs);
                 user.NetzbetreiberRelationships.Add(rs);
                 db.UserNetzbetreiberRelationships.Insert(rs);
                 db.Save();
                 return(RedirectToAction("Index", new { Message = ManageMessageId.AddNBSuccess }));
             }
             else
             {
                 // Die RS ist bereits vorhanden
                 return(RedirectToAction("Index", new { Message = ManageMessageId.RelationshipExists }));
             }
         }
         // Die BNR gibt es nicht
         return(RedirectToAction("Index", new { Message = ManageMessageId.BNRNotFound }));
     }
     return(RedirectToAction("Index"));
 }
コード例 #9
0
        protected override void Seed(EWFDbContext context)
        {
            var manager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            //Standard-Account erstellen
            ApplicationUser user = new ApplicationUser()
            {
                UserName             = "******",
                Email                = "*****@*****.**",
                EmailConfirmed       = true,
                PhoneNumberConfirmed = false,
                TwoFactorEnabled     = false,
                LockoutEnabled       = false,
                AccessFailedCount    = 0
            };

            //Erzeugt den User
            manager.Create(user, "webadmin");
            //Erzeugt die Admin-Rolle
            context.Roles.Add(new IdentityRole()
            {
                Name = "Admin"
            });
            context.SaveChanges();
            //Fügt die Beziehung zwischen User und Role hinzu.
            manager.AddToRole(user.Id, "Admin");

            //Regulierungsperiode
            Regulierungsperiode regP = new Regulierungsperiode()
            {
                Number    = 1,
                StartDate = new DateTime(2009, 1, 1),
                EndDate   = new DateTime(2012, 12, 31)
            };

            context.Regulierungsperioden.Add(regP);

            //Test-Netzbetreiber erstellen
            Netzbetreiber nb = new Netzbetreiber()
            {
                BNR                    = 12009999,
                Name                   = "Verteilernetzbetreiber",
                Rechtsform             = "GmbH",
                PLZOrt                 = "99999 Musterstadt",
                StrasseHausNr          = "Musterstraße 555",
                VereinfachtesVerfahren = false
            };
            //Beziehung zwischen Nutzer und Netzbetreiber erstellen
            UserNetzbetreiberRelationship rs = new UserNetzbetreiberRelationship()
            {
                Netzbetreiber = nb,
                BNR           = nb.BNR,
                User          = user,
                Id            = user.Id,
                Confirmed     = true
            };

            //Navigation-Properties zuweisen
            nb.UserRelationships = new List <UserNetzbetreiberRelationship>();
            nb.UserRelationships.Add(rs);
            user.NetzbetreiberRelationships = new List <UserNetzbetreiberRelationship>();
            user.NetzbetreiberRelationships.Add(rs);
            //Fügt nb und rs dem ORM hinzu
            context.Netzbetreiber.Add(nb);
            context.UserNetzbetreiberRelationships.Add(rs);

            //Netz für Test-Netzbetreiber
            Netz n = new Netz()
            {
                Netzbetreiber       = nb,
                BNR                 = nb.BNR,
                RegPId              = regP.RegPId,
                Regulierungsperiode = regP,
                NetzNr              = 1,
                NetzName            = "Region Ost",
                EOGs                = new List <EOG> ()
            };

            context.Netze.Add(n);
            //Basisjahr für Netz 1 des Test-Netzbetreiber
            Basisjahr b = new Basisjahr()
            {
                NetzId = n.NetzId,
                Netz   = n,

                Netzkosten        = 79500587.45d,
                KAdnb             = 4879325.78d,
                Effizienzwert     = 0.92547878d,
                Verteilungsfaktor = 0.1d,

                RestwertNetzanlagen  = 240567345.36d,
                RestwertRegelanlagen = 61894356.56d,

                StartDate = new DateTime(2006, 1, 1),
                EndDate   = new DateTime(2006, 12, 31),

                VersorgteFlaeche      = 345.34d,
                AnzahlAusspeisepunkte = 74895,
                Jahreshoechstlast     = 25326d
            };

            context.Basisjahre.Add(b);
            context.SaveChanges();
            //EOGs für Netz 1 des Test-Netzbetreiber
            EOG eog = new EOG(b, 1)
            {
                StartDate = new DateTime(2009, 1, 1),
                EndDate   = new DateTime(2009, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };

            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 2)
            {
                StartDate = new DateTime(2010, 1, 1),
                EndDate   = new DateTime(2010, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 3)
            {
                StartDate = new DateTime(2011, 1, 1),
                EndDate   = new DateTime(2011, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 4)
            {
                StartDate = new DateTime(2012, 1, 1),
                EndDate   = new DateTime(2012, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            context.SaveChanges();
            //Weiteres Netz für Test-Netzbetreiber
            n = new Netz()
            {
                BNR                 = nb.BNR,
                Netzbetreiber       = nb,
                RegPId              = regP.RegPId,
                NetzNr              = 2,
                NetzName            = "Region West",
                Regulierungsperiode = regP,
                EOGs                = new List <EOG>()
            };
            context.Netze.Add(n);
            //Basisjahr für Netz 2 des Test-Netzbetreiber
            b = new Basisjahr()
            {
                NetzId                = n.NetzId,
                Netz                  = n,
                Netzkosten            = 25500587.45d,
                KAdnb                 = 2879325.78d,
                Effizienzwert         = 0.897851d,
                Verteilungsfaktor     = 0.1d,
                RestwertNetzanlagen   = 112567345.36d,
                RestwertRegelanlagen  = 19894356.56d,
                StartDate             = new DateTime(2006, 1, 1),
                EndDate               = new DateTime(2006, 12, 31),
                VersorgteFlaeche      = 134.4d,
                AnzahlAusspeisepunkte = 24895,
                Jahreshoechstlast     = 11389d
            };
            context.Basisjahre.Add(b);
            //EOGs für Netz 2 des Test-Netzbetreiber
            eog = new EOG(b, 1)
            {
                StartDate = new DateTime(2009, 1, 1),
                EndDate   = new DateTime(2009, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 2)
            {
                StartDate = new DateTime(2010, 1, 1),
                EndDate   = new DateTime(2010, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 3)
            {
                StartDate = new DateTime(2011, 1, 1),
                EndDate   = new DateTime(2011, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 4)
            {
                StartDate = new DateTime(2012, 1, 1),
                EndDate   = new DateTime(2012, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            //Weitere Regulierungsperiode
            regP = new Regulierungsperiode()
            {
                Number    = 2,
                StartDate = new DateTime(2013, 1, 1),
                EndDate   = new DateTime(2017, 12, 31)
            };
            context.Regulierungsperioden.Add(regP);
            //Weiteres Netz für Test-Netzbetreiber
            n = new Netz()
            {
                BNR                 = nb.BNR,
                Netzbetreiber       = nb,
                RegPId              = regP.RegPId,
                Regulierungsperiode = regP,
                NetzNr              = 1,
                NetzName            = "Gesamtnetz",
                EOGs                = new List <EOG>()
            };
            context.SaveChanges();
            //Basisjahr für Netz 1 des Test-Netzbetreiber
            b = new Basisjahr()
            {
                NetzId                = n.NetzId,
                Netz                  = n,
                Netzkosten            = 101500587.45d,
                KAdnb                 = 5879325.78d,
                Effizienzwert         = 0.93547878d,
                Verteilungsfaktor     = 0.2d,
                RestwertNetzanlagen   = 396567345.36d,
                RestwertRegelanlagen  = 3894356.56d,
                StartDate             = new DateTime(2010, 1, 1),
                EndDate               = new DateTime(2010, 12, 31),
                VersorgteFlaeche      = 480.4d,
                AnzahlAusspeisepunkte = 104895,
                Jahreshoechstlast     = 38576d
            };
            context.Basisjahre.Add(b);
            //EOGs für Netz 2 des Test-Netzbetreiber
            eog = new EOG(b, 1)
            {
                StartDate = new DateTime(2013, 1, 1),
                EndDate   = new DateTime(2013, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 2)
            {
                StartDate = new DateTime(2014, 1, 1),
                EndDate   = new DateTime(2014, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 3)
            {
                StartDate = new DateTime(2015, 1, 1),
                EndDate   = new DateTime(2015, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 4)
            {
                StartDate = new DateTime(2016, 1, 1),
                EndDate   = new DateTime(2016, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            eog = new EOG(b, 5)
            {
                StartDate = new DateTime(2017, 1, 1),
                EndDate   = new DateTime(2017, 12, 31),
                NetzId    = n.NetzId,
                Netz      = n
            };
            n.EOGs.Add(eog);
            context.EOGs.Add(eog);
            //Weiterer Test-Netzbetreiber
            nb = new Netzbetreiber()
            {
                BNR                    = 12009998,
                Name                   = "Fernleitungsnetzbetreiber",
                Rechtsform             = "AG",
                PLZOrt                 = "00001 Testheim",
                StrasseHausNr          = "Teststraße 444",
                VereinfachtesVerfahren = false
            };
            context.Netzbetreiber.Add(nb);
            //Relationship für weiteren Test-Netzbetreiber
            rs = new UserNetzbetreiberRelationship()
            {
                Netzbetreiber = nb,
                BNR           = nb.BNR,
                User          = user,
                Id            = user.Id,
                Confirmed     = true
            };
            //Navigation-Properties zuweisen

            context.UserNetzbetreiberRelationships.Add(rs);
            //Weiterer Test-User
            user = new ApplicationUser()
            {
                UserName          = "******",
                Email             = "*****@*****.**",
                EmailConfirmed    = true,
                LockoutEnabled    = false,
                AccessFailedCount = 0
            };
            //Erzeugt den User
            manager.Create(user, "test12");

            //Relationship für weiteren User
            rs = new UserNetzbetreiberRelationship()
            {
                Netzbetreiber = nb,
                BNR           = nb.BNR,
                User          = user,
                Id            = user.Id,
                Confirmed     = false
            };
            context.UserNetzbetreiberRelationships.Add(rs);
            //Weitere Regulierungsperiode
            regP = new Regulierungsperiode()
            {
                Number    = 3,
                StartDate = new DateTime(2018, 1, 1),
                EndDate   = new DateTime(2022, 12, 31)
            };
            context.Regulierungsperioden.Add(regP);
            context.SaveChanges();
        }