Beispiel #1
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));
 }
Beispiel #2
0
        public ActionResult EditGrid(GridViewModel vm)
        {
            if (ModelState.IsValid)
            {
                Netz netz = db.Netze.GetByID(vm.NetzId);
                Regulierungsperiode rp = db.Regulierungsperioden.GetByID(netz.RegPId);
                if (netz == null)
                {
                    return(HttpNotFound());
                }
                if (netz.Basisjahr.Netzkosten != vm.Netzkosten ||
                    netz.Basisjahr.KAdnb != vm.KAdnb ||
                    netz.Basisjahr.Verteilungsfaktor != vm.Verteilungsfaktor ||
                    netz.Basisjahr.Effizienzwert != vm.Effizienzwert)
                {
                    //Die EOGs müssen neu berechnet und ersetzt werden, da sich relevante Werte geändert haben
                    netz.Basisjahr.Netzkosten        = vm.Netzkosten;
                    netz.Basisjahr.KAdnb             = vm.KAdnb;
                    netz.Basisjahr.Effizienzwert     = vm.Effizienzwert;
                    netz.Basisjahr.Verteilungsfaktor = vm.Verteilungsfaktor;

                    int dauerRp = (rp.EndDate.Year - rp.StartDate.Year);
                    for (int i = 0; i <= dauerRp; i++)
                    {
                        EOG eog = netz.EOGs.ElementAt(i);
                        eog.Update(netz.Basisjahr, i + 1);
                        db.EOGs.Update(eog);
                    }
                }
                netz.NetzNr   = vm.NetzNr;
                netz.NetzName = vm.NetzName;
                netz.Basisjahr.RestwertNetzanlagen  = vm.RestwertNetzanlagen;
                netz.Basisjahr.RestwertRegelanlagen = vm.RestwertRegelanlagen;
                netz.Basisjahr.StartDate            = vm.StartDate;
                netz.Basisjahr.EndDate               = vm.EndDate;
                netz.Basisjahr.VersorgteFlaeche      = vm.VersorgteFlaeche;
                netz.Basisjahr.AnzahlAusspeisepunkte = vm.AnzahlAusspeisepunkte;
                netz.Basisjahr.Jahreshoechstlast     = vm.Jahreshoechstlast;
                db.Netze.Update(netz);
                db.Save();

                return(RedirectToAction("Details", new { id = netz.BNR }));
            }
            return(View(vm));
        }
Beispiel #3
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();
        }