Пример #1
0
        public ActionResult DeleteEWFConfirmed(int eogId, int netzId)
        {
            if (eogId == 0 || netzId == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ApplicationUser user = db.Users.GetByID(User.Identity.GetUserId());
            Basisjahr       bj   = db.Basisjahre.GetByID(netzId);
            EOG             eog  = db.EOGs.GetByID(netzId, eogId);

            if (user == null || bj == null || eog == null)
            {
                return(HttpNotFound());
            }
            //Der gestellte Antrag wird nicht gelöscht, sondern geupdatet mit Parameter-Werten = 0.
            //So kann die Antragshistorie später immernoch rekonstruiert werden.
            AntragEWF ewf = new AntragEWF()
            {
                VersorgteFlaeche      = 0d,
                AnzahlAusspeisepunkte = 0,
                Jahreshoechstlast     = 0d,
                User = user,
                Date = DateTime.Now,
                EOG  = eog
            };

            db.EWFs.Insert(ewf);
            eog.EFt = 1d;
            db.EOGs.Update(eog);
            db.Save();
            return(RedirectToAction("Index"));
        }
Пример #2
0
 public ActionResult EditEWF(
     [Bind(Include = "EOGId, NetzId, VersorgteFlaechet, AnzahlAusspeisepunktet, Jahreshoechstlastt")]
     EWFViewModel vm)
 {
     if (ModelState.IsValid)
     {
         Netz netz = db.Netze.GetByID(vm.NetzId);
         if (netz == null)
         {
             return(HttpNotFound());
         }
         vm.VersorgteFlaeche0      = netz.Basisjahr.VersorgteFlaeche;
         vm.AnzahlAusspeisepunkte0 = netz.Basisjahr.AnzahlAusspeisepunkte;
         vm.Jahreshoechstlast0     = netz.Basisjahr.Jahreshoechstlast;
         vm.RestwertNetzanlagen    = netz.Basisjahr.RestwertNetzanlagen;
         vm.RestwertRegelanlagen   = netz.Basisjahr.RestwertRegelanlagen;
         vm.EOGs = netz.EOGs;
         //EOG, für die Antrag gestellt werden soll, holen
         EOG eog = (from n in vm.EOGs
                    where n.EOGId == vm.EOGId
                    select n).FirstOrDefault();
         //EWF für das View-Model in EOG einsetzen (wird im VM berechnet)
         eog.EFt = vm.EWFGesamt;
         //der View EWFConfirm wird für Antrag stellen und Antrag bearbeiten verwendet
         ViewBag.SendText = "Wollen Sie Ihren Antrag mit diesen Daten abändern und an die Bundesnetzagentur übermitteln?";
         ViewBag.Title    = "Antrag bearbeiten";
         return(View("EWFConfirm", vm));
     }
     return(View(vm));
 }
Пример #3
0
 public ActionResult ConfirmEWF(
     [Bind(Include = "EOGId, NetzId, VersorgteFlaechet, AnzahlAusspeisepunktet, Jahreshoechstlastt")]
     EWFViewModel vm)
 {
     if (ModelState.IsValid)
     {
         ApplicationUser user = db.Users.GetByID(User.Identity.GetUserId());
         Basisjahr       bj   = db.Basisjahre.GetByID(vm.NetzId);
         EOG             eog  = db.EOGs.GetByID(vm.NetzId, vm.EOGId);
         if (user == null || bj == null || eog == null)
         {
             return(HttpNotFound());
         }
         //Antrag erstellen
         AntragEWF ewf = new AntragEWF()
         {
             VersorgteFlaeche      = vm.VersorgteFlaechet,
             AnzahlAusspeisepunkte = vm.AnzahlAusspeisepunktet,
             Jahreshoechstlast     = vm.Jahreshoechstlastt,
             User = user,
             Date = DateTime.Now,
             EOG  = eog
         };
         //AntragEWF-Entity speichern
         db.EWFs.Insert(ewf);
         //EWF für die gespeicherte EOG einsetzen (wird in AntragEWF berechnet)
         eog.EFt = ewf.EFt(bj);
         //EOG-Entity speichern
         db.EOGs.Update(eog);
         db.Save();
         return(RedirectToAction("Index"));
     }
     return(View(vm));
 }
Пример #4
0
        // GET: EOG/Delete/5
        public ActionResult DeleteEWF(int eogId, int netzId)
        {
            if (eogId == 0 || netzId == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EOG eog = db.EOGs.GetByID(netzId, eogId);

            if (eog == null)
            {
                return(HttpNotFound());
            }
            return(View(eog));
        }
Пример #5
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));
        }
Пример #6
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();
        }