예제 #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 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));
 }
예제 #3
0
        // GET: EOG/EditEWF
        public ActionResult EditEWF(int EOGId, int NetzId)
        {
            if (EOGId == 0 || NetzId == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //Lade Basisjahr der EOG
            Basisjahr bj = db.Basisjahre.GetByID(NetzId);

            if (bj == null)
            {
                return(HttpNotFound());
            }
            //Lade alle Anträge der EOG
            List <AntragEWF> antraege = db.EWFs.Get(e => e.NetzId == NetzId && e.EOGId == EOGId).ToList();

            if (antraege.Count == 0)
            {
                return(HttpNotFound());
            }
            //Hole den neuesten Antrag
            AntragEWF ewf = antraege.Where(e => e.Date == antraege.Max(x => x.Date)).FirstOrDefault();

            if (ewf == null || bj == null)
            {
                return(HttpNotFound());
            }
            EWFViewModel vm = new EWFViewModel()
            {
                EOGId                  = ewf.EOGId,
                NetzId                 = ewf.NetzId,
                VersorgteFlaechet      = ewf.VersorgteFlaeche,
                AnzahlAusspeisepunktet = ewf.AnzahlAusspeisepunkte,
                Jahreshoechstlastt     = ewf.Jahreshoechstlast,
                VersorgteFlaeche0      = bj.VersorgteFlaeche,
                AnzahlAusspeisepunkte0 = bj.AnzahlAusspeisepunkte,
                Jahreshoechstlast0     = bj.Jahreshoechstlast,
                RestwertNetzanlagen    = bj.RestwertNetzanlagen,
                RestwertRegelanlagen   = bj.RestwertRegelanlagen
            };

            ViewBag.Title = "Antrag bearbeiten";
            return(View(vm));
        }
예제 #4
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();
        }