示例#1
0
 public LekplatsFullständigData GetLekplatsData(int lekplatsId)
 {
     //Hämtar en lekplats från databasen och lägger till
     //tillhörande lekutrustning, tillgänglighet och medelbetyg i ett objekt
     using (DatabasLekplatserEntities db = new DatabasLekplatserEntities())
     {
         try
         {
             Lekplatser dbLekplats       = db.Lekplatser.Find(lekplatsId);
             var        dbLekutrustning  = db.Lekutrustning.OrderBy(a => a.Ordning).Where(a => a.FK_Lekplatser_LekplatsId == dbLekplats.LekplatsId).Select(a => a.Beskrivning);
             var        dbTillgänglighet = db.Tillgänglighet.OrderBy(a => a.Ordning).Where(a => a.FK_Lekplatser_LekplatsId == dbLekplats.LekplatsId).Select(a => a.Beskrivning);
             LekplatsFullständigData fullständigLekplats = new LekplatsFullständigData
             {
                 lekplatsId     = dbLekplats.LekplatsId,
                 namn           = dbLekplats.Namn,
                 adress         = dbLekplats.Adress,
                 beskrivning    = dbLekplats.Beskrivning,
                 målgrupp       = new int[] { (int)dbLekplats.MinÅlderMålgrupp, (int)dbLekplats.MaxÅlderMålgrupp },
                 område         = dbLekplats.Områden.Namn,
                 lekutrustning  = dbLekutrustning.ToArray(),
                 tillgänglighet = dbTillgänglighet.ToArray(),
                 medelbetyg     = GetMedelBetygData(dbLekplats.LekplatsId)
             };
             return(fullständigLekplats);
         }
         catch { return(null); }
     }
 }
示例#2
0
 public bool UppdateraLekplats(LekplatsFullständigData inputLekplats)
 {
     using (DatabasLekplatserEntities db = new DatabasLekplatserEntities())
     {
         //Det måste finnas minst en lekutrustning och en tillgänglighet
         if (inputLekplats.lekutrustning?.Length > 0 || inputLekplats.tillgänglighet?.Length > 0)
         {
             try
             {
                 Lekplatser uppdateraLekplats = db.Lekplatser.Find(inputLekplats.lekplatsId);
                 uppdateraLekplats.LekplatsId       = inputLekplats.lekplatsId;
                 uppdateraLekplats.Namn             = inputLekplats.namn;
                 uppdateraLekplats.Adress           = inputLekplats.adress;
                 uppdateraLekplats.Beskrivning      = inputLekplats.beskrivning;
                 uppdateraLekplats.MinÅlderMålgrupp = (byte)inputLekplats.målgrupp[0];
                 uppdateraLekplats.MaxÅlderMålgrupp = (byte)inputLekplats.målgrupp[1];
                 uppdateraLekplats.Områden          = db.Områden.SingleOrDefault((a => a.Namn == inputLekplats.område));
                 db.Lekutrustning.RemoveRange(db.Lekutrustning.Where(a => a.FK_Lekplatser_LekplatsId == uppdateraLekplats.LekplatsId));
                 db.Tillgänglighet.RemoveRange(db.Tillgänglighet.Where(a => a.FK_Lekplatser_LekplatsId == uppdateraLekplats.LekplatsId));
                 for (int i = 0; i < inputLekplats.lekutrustning.Length; i++)
                 {
                     Lekutrustning uppdateradLekutrustning = new Lekutrustning
                     {
                         Ordning     = i + 1,
                         Beskrivning = inputLekplats.lekutrustning[i]
                     };
                     uppdateraLekplats.Lekutrustning.Add(uppdateradLekutrustning);
                 }
                 for (int i = 0; i < inputLekplats.tillgänglighet.Length; i++)
                 {
                     Tillgänglighet uppdateradTillgänglighet = new Tillgänglighet
                     {
                         Ordning     = i + 1,
                         Beskrivning = inputLekplats.tillgänglighet[i]
                     };
                     uppdateraLekplats.Tillgänglighet.Add(uppdateradTillgänglighet);
                 }
                 db.SaveChanges();
                 return(true);
             }
             catch { return(false); }
         }
         else
         {
             return(false);
         }
     }
 }
示例#3
0
 public bool SkapaLekplats(LekplatsData inputLekplats)
 {
     using (DatabasLekplatserEntities db = new DatabasLekplatserEntities())
     {
         //Det måste finnas minst en lekutrustning och en tillgänglighet
         if (inputLekplats.lekutrustning?.Length > 0 || inputLekplats.tillgänglighet?.Length > 0)
         {
             try
             {
                 Lekplatser dbLekplats = new Lekplatser()
                 {
                     Namn             = inputLekplats.namn,
                     Adress           = inputLekplats.adress,
                     Beskrivning      = inputLekplats.beskrivning,
                     Områden          = db.Områden.SingleOrDefault(p => p.Namn == inputLekplats.område),
                     MinÅlderMålgrupp = (byte)inputLekplats.målgrupp[0],
                     MaxÅlderMålgrupp = (byte)inputLekplats.målgrupp[1],
                 };
                 for (int i = 0; i < inputLekplats.lekutrustning.Length; i++)
                 {
                     Lekutrustning nyLekutrustning = new Lekutrustning
                     {
                         Ordning     = i + 1,
                         Beskrivning = inputLekplats.lekutrustning[i]
                     };
                     dbLekplats.Lekutrustning.Add(nyLekutrustning);
                 }
                 for (int i = 0; i < inputLekplats.tillgänglighet.Length; i++)
                 {
                     Tillgänglighet nyTillgänglighet = new Tillgänglighet
                     {
                         Ordning     = i + 1,
                         Beskrivning = inputLekplats.tillgänglighet[i]
                     };
                     dbLekplats.Tillgänglighet.Add(nyTillgänglighet);
                 }
                 db.Lekplatser.Add(dbLekplats);
                 db.SaveChanges();
                 return(true);
             }
             catch { return(false); }
         }
         else
         {
             return(false);
         }
     }
 }
示例#4
0
 public bool TaBortLekplats(int lekplatsId)
 {
     using (var db = new DatabasLekplatserEntities())
     {
         //På grund av främmande nycklar måste lekutrustning, tillgänglighet och betyg tas bort innan lekplatsen
         try
         {
             Lekplatser dbLekplats = db.Lekplatser.Find(lekplatsId);
             db.Lekutrustning.RemoveRange(db.Lekutrustning.Where(a => a.FK_Lekplatser_LekplatsId == dbLekplats.LekplatsId));
             db.Tillgänglighet.RemoveRange(db.Tillgänglighet.Where(a => a.FK_Lekplatser_LekplatsId == dbLekplats.LekplatsId));
             db.IndividuellaBetyg.RemoveRange(db.IndividuellaBetyg.Where(a => a.FK_Lekplatser_LekplatsId == dbLekplats.LekplatsId));
             db.Lekplatser.Remove(dbLekplats);
             db.SaveChanges();
         }
         catch { return(false); }
     }
     return(true);
 }