Beispiel #1
0
        // GET: Admin/Netzbetreiber/ChangeRelationship?id=4?bnr=5
        public ActionResult ChangeRelationship(string id, int?bnr, string returnURL)
        {
            //Ist die Betriebsnummer gültig
            if (id == null || bnr < 12000000 || bnr > 12009999 || returnURL == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserNetzbetreiberRelationship rs =
                db.UserNetzbetreiberRelationships.Get(m => m.Id == id && m.BNR == bnr).First();

            //Wurde eine Relationship gefunden
            if (rs == null)
            {
                return(HttpNotFound());
            }
            //Ist die RS bestätigt, dann setze falsch
            if (rs.Confirmed == true)
            {
                rs.Confirmed = false;
            }
            //Ist die RS nicht bestätigt, dann setze wahr
            else
            {
                rs.Confirmed = true;
            }
            //DB updaten
            db.UserNetzbetreiberRelationships.Update(rs);
            db.Save();
            //Zur Quell-URL zurückkehren
            return(Redirect(returnURL));
        }
Beispiel #2
0
        public ActionResult DeleteRelationship(string id, int?bnr)
        {
            UserNetzbetreiberRelationship rs = db.UserNetzbetreiberRelationships.GetByID(id, bnr);

            db.UserNetzbetreiberRelationships.Delete(rs);
            db.Save();
            return(RedirectToAction("Details", "User", new { Id = id }));
        }
Beispiel #3
0
        public ActionResult DeleteRelationship(int?bnr)
        {
            if (bnr < 12000000 || bnr > 12009999 || bnr == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserNetzbetreiberRelationship rs = db.UserNetzbetreiberRelationships.GetByID(User.Identity.GetUserId(), bnr);

            return(View(rs));
        }
Beispiel #4
0
        public ActionResult DeleteRelationship(string id, int?bnr, string returnURL)
        {
            if (id == null || bnr < 12000000 || bnr > 12009999)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserNetzbetreiberRelationship rs = db.UserNetzbetreiberRelationships.GetByID(id, bnr);

            if (rs == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ReturnURL = returnURL;
            return(View(rs));
        }
Beispiel #5
0
        // GET: Manage/Details/12009999
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UserNetzbetreiberRelationship rs = db.UserNetzbetreiberRelationships.GetByID(User.Identity.GetUserId(), id);

            if (!rs.Confirmed)
            {
                //Daten werden nur angezeigt, wenn NB bestätigt wurde
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
            }
            return(View(rs.Netzbetreiber));
        }
Beispiel #6
0
 public ActionResult CreateRelationship(EditRelationshipViewModel vm)
 {
     if (ModelState.IsValid)
     {
         UserNetzbetreiberRelationship rs = db.UserNetzbetreiberRelationships.GetByID(vm.Id, vm.BNR);
         //Prüfen ob RS schon vorhanden
         if (rs != null)
         {
             //Beziehung bereits vorhanden
             //Füge Liste der Nutzer dem ViewModel hinzu
             vm.UserList = new List <SelectListItem>();
             foreach (ApplicationUser user in db.Users.Get())
             {
                 vm.UserList.Add(new SelectListItem()
                 {
                     Text = user.UserName, Value = user.Id
                 });
             }
             //Anzeigen, dass RS schon vorhanden
             ModelState.AddModelError("", "Die Verknüpfung existiert bereits.");
             return(View(vm));
         }
         //RS anlegen
         rs = new UserNetzbetreiberRelationship()
         {
             Id        = vm.Id,
             BNR       = vm.BNR,
             Confirmed = vm.Confirmed
         };
         db.UserNetzbetreiberRelationships.Insert(rs);
         db.Save();
         return(RedirectToAction("Details", "Netzbetreiber", new { Id = vm.BNR }));
     }
     //Füge Liste der Nutzer dem ViewModel hinzu
     vm.UserList = new List <SelectListItem>();
     foreach (ApplicationUser user in db.Users.Get())
     {
         vm.UserList.Add(new SelectListItem()
         {
             Text = user.UserName, Value = user.Id
         });
     }
     //Gib Eingaben zurück
     return(View(vm));
 }
Beispiel #7
0
 public ActionResult CreateRelationship(EditRelationshipViewModel vm)
 {
     if (ModelState.IsValid)
     {
         UserNetzbetreiberRelationship rs = db.UserNetzbetreiberRelationships.GetByID(vm.Id, vm.BNR);
         //Prüfen ob RS schon vorhanden
         if (rs != null)
         {
             //Füge Liste der Netzbetreiber dem ViewModel hinzu
             vm.BNRList = new List <SelectListItem>();
             foreach (Netzbetreiber nb in db.Netzbetreiber.Get())
             {
                 vm.BNRList.Add(new SelectListItem()
                 {
                     Text = nb.BNR + " " + nb.Name + " " + nb.Rechtsform, Value = nb.BNR.ToString()
                 });
             }
             //Anzeigen, dass RS schon vorhanden
             ModelState.AddModelError("", "Die Verknüpfung existiert bereits.");
             return(View(vm));
         }
         //RS anlegen
         rs = new UserNetzbetreiberRelationship()
         {
             Id        = vm.Id,
             BNR       = vm.BNR,
             Confirmed = vm.Confirmed
         };
         db.UserNetzbetreiberRelationships.Insert(rs);
         db.Save();
         return(RedirectToAction("Details", "User", new { Id = vm.Id }));
     }
     //Füge Liste der Netzbetreiber dem ViewModel hinzu
     vm.BNRList = new List <SelectListItem>();
     foreach (Netzbetreiber nb in db.Netzbetreiber.Get())
     {
         vm.BNRList.Add(new SelectListItem()
         {
             Text = nb.BNR + " " + nb.Name + " " + nb.Rechtsform, Value = nb.BNR.ToString()
         });
     }
     return(View(vm));
 }
Beispiel #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"));
 }
Beispiel #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();
        }