public int GetEntries() { using (DataContext dataContext = new DataContext()) { return dataContext.Bevaegelser.Count(); } }
/// <summary> /// Henter alle bevaegelser /// </summary> /// <param name="kolonne">Sortere på den valgte kolonne</param> /// <param name="faldendeEllerStigende"></param> /// <returns>En liste med alle bevægelser</returns> public List<Bevaegelser> HentBevaegelser(string kolonne, string faldendeEllerStigende) { TraceHjaelp(new []{kolonne, faldendeEllerStigende}, "kaldt"); using (DataContext dataContext = new DataContext()) { switch (kolonne) { case "Tidspunkt": switch (faldendeEllerStigende) { case "stigende": { var query = from q in dataContext.Bevaegelser orderby q.Tidspunkt ascending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, query.Count().ToString() + " Elementer returneret"); return query.ToList(); } case "faldende": { var query = from q in dataContext.Bevaegelser orderby q.Tidspunkt descending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, query.Count().ToString() + " Elementer returneret"); return query.ToList(); } default: var queryDefault = from q in dataContext.Bevaegelser orderby q.Dato descending orderby q.Tidspunkt descending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, queryDefault.Count().ToString() + " Elementer returneret"); return queryDefault.ToList(); } case "Dato": switch (faldendeEllerStigende) { case "stigende": { var query = from q in dataContext.Bevaegelser orderby q.Dato ascending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, query.Count().ToString() + " Elementer returneret"); return query.ToList(); } case "faldende": { var query = from q in dataContext.Bevaegelser orderby q.Dato descending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, query.Count().ToString() + " Elementer returneret"); return query.ToList(); } default: var queryDefault = from q in dataContext.Bevaegelser orderby q.Dato descending orderby q.Dato descending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, queryDefault.Count().ToString() + " Elementer returneret"); return queryDefault.ToList(); } case "Temperatur": switch (faldendeEllerStigende) { case "stigende": { var query = from q in dataContext.Bevaegelser orderby q.Temperatur ascending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, query.Count().ToString() + " Elementer returneret"); return query.ToList(); } case "faldende": { var query = from q in dataContext.Bevaegelser orderby q.Temperatur descending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, query.Count().ToString() + " Elementer returneret"); return query.ToList(); } default: var queryDefault = from q in dataContext.Bevaegelser orderby q.Dato descending orderby q.Temperatur descending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, queryDefault.Count().ToString() + " Elementer returneret"); return queryDefault.ToList(); } default: var queryDefault1 = from q in dataContext.Bevaegelser orderby q.Dato descending orderby q.Tidspunkt descending select q; TraceHjaelp(new[] { kolonne, faldendeEllerStigende }, queryDefault1.Count().ToString() + " Elementer returneret"); return queryDefault1.ToList(); } } }
private Brugere FindBruger(string brugernavn = null, int id = 0, string email = null) { using (DataContext dataContext = new DataContext()) { if (email != null) { Brugere b = dataContext.Brugere.FirstOrDefault(bruger => bruger.Email == email); return b; } if (brugernavn != null) { Brugere b = dataContext.Brugere.FirstOrDefault(bruger => bruger.Brugernavn == brugernavn); return b; } Brugere br = dataContext.Brugere.FirstOrDefault(bruger => bruger.Id == id); return br; } }
public Bevaegelser SletHistorik(int id) { using (DataContext dataContext = new DataContext()) { Bevaegelser b = dataContext.Bevaegelser.FirstOrDefault(bevaegelse => bevaegelse.Id == id); if (b != null) { dataContext.Bevaegelser.Remove(b); dataContext.SaveChanges(); return b; } return null; } }
public Brugere OpdaterPassword(string brugernavn, string password) { using (DataContext dataContext = new DataContext()) { Brugere b = FindBruger(brugernavn); if (b != null && PasswordTjekker(password) && !password.Contains(b.Brugernavn)) { b.Password = password; dataContext.Brugere.AddOrUpdate(b); dataContext.SaveChanges(); return b; } return null; } }
/// <summary> /// Henter alle bevaegelser /// </summary> /// <returns>En liste med alle bevægelser</returns> public List<Bevaegelser> HentBevaegelser() { using (DataContext dataContext = new DataContext()) { return dataContext.Bevaegelser.ToList(); } }
private void DataBehandling(byte[] bytes, ref DateTime senesteDato, ref TimeSpan senesteTid) { string resp = Encoding.ASCII.GetString(bytes); string movementDetected = resp.Split('\r')[7]; // "Movement last detected: 2015 - 10 - 29 09:27:19.001053\r\n"; string dateTimeString = movementDetected.Split(':')[1]; // 2015-10-29 09 string[] cutTimeArray = movementDetected.Split(':'); // "[Movement last detected], [2015-10-29 09], [27], [19.001053\r\n] string cutTimeSplit = cutTimeArray[3].Split('.')[0]; // 19 string[] cut3 = dateTimeString.Split(' '); // [""] [2015-10-29], [09] string[] cut4 = cut3[1].Split('-'); DateTime dt = new DateTime(int.Parse(cut4[0]), int.Parse(cut4[1]), int.Parse(cut4[2])); TimeSpan ts = new TimeSpan(int.Parse(cut3[2]), int.Parse(cutTimeArray[2]), int.Parse(cutTimeSplit)); if (senesteDato != dt || senesteTid != ts) { VejrService.GlobalWeatherSoapClient client = new VejrService.GlobalWeatherSoapClient(); var response = client.GetWeather("Roskilde", "Denmark"); var doc = new XmlDocument(); doc.LoadXml(response); XmlNode root = doc.DocumentElement; XmlNode node = root.SelectSingleNode("//Temperature"); var nodeSplit = node.InnerText.Split('(')[1]; var nodeSplit2 = nodeSplit.Split(' ')[0]; using (DataContext dataContext = new DataContext()) { dataContext.Bevaegelser.Add(new Bevaegelser(dt, ts, decimal.Parse(nodeSplit2))); dataContext.SaveChanges(); } dt = senesteDato; ts = senesteTid; if (_alarmBool) { Alarmer(); } } }
/// <summary> /// Opretter en bruger med de pågældende parametre /// </summary> /// <param name="brugernavn"></param> /// <param name="password"></param> /// <param name="email"></param> /// <returns>string med resultat</returns> public string OpretBruger(string brugernavn, string password, string email) { using (DataContext dataContext = new DataContext()) { Brugere exBruger = FindBruger(brugernavn); if (exBruger == null) { try { Brugere b = new Brugere() {Brugernavn = brugernavn, Password = password, Email = email}; dataContext.Brugere.Add(b); dataContext.SaveChanges(); return brugernavn + " er oprettet i databasen"; } catch (ArgumentException ex) { return ex.Message; } } return "Brugernavnet findes allerede i databasen"; } }
/// <summary> /// Opdaterer tidsrummet hvori sensoren er aktiv /// </summary> /// <param name="fra"></param> /// <param name="til"></param> /// <returns>string med resultat</returns> public string OpdaterTidsrum(string fra, string til) { if (fra == null) { string succesStreng = "Fra skal udfyldes"; TraceHjaelp(new[] { fra, til }, succesStreng); return succesStreng; } if (til == null) { string succesStreng1 = "Til skal udfyldes"; TraceHjaelp(new[] { fra, til }, succesStreng1); return succesStreng1; } try { var f = TimeSpan.Parse(fra); var t = TimeSpan.Parse(til); using (DataContext dataContext = new DataContext()) { Tider tid = dataContext.Tider.FirstOrDefault(tider => tider.Id == 1); tid.Fra = f; tid.Til = t; dataContext.Tider.AddOrUpdate(tid); dataContext.SaveChanges(); _ta = Task.Run((() => SensorLoop())); string succesStreng = "Tidsrummet blev ændret"; TraceHjaelp(new []{fra, til}, succesStreng); return succesStreng; } } catch (Exception ex) { TraceHjaelp(new[] { fra, til }, ex.Message); return "Formatet skal være (HH:MM:SS)"; } }
/// <summary> /// Opdaterer tiden hvori sensoren sover efter måling /// </summary> /// <param name="minutAntal"></param> /// <returns>string med resultat</returns> public string OpdaterTidEfterMaaling(int minutAntal) { int milisekundAntal = minutAntal*60000; try { using (DataContext dataContext = new DataContext()) { Tider tid = dataContext.Tider.FirstOrDefault(t => t.Id == 1); if (tid != null) { tid.SoveTidEfterMaaling = milisekundAntal; dataContext.Tider.AddOrUpdate(tid); dataContext.SaveChanges(); string succesStreng = "Måleren sover nu i " + (minutAntal) + " minutter efter at den har målt"; TraceHjaelp(new []{minutAntal.ToString()}, succesStreng); return succesStreng; } string fejlStreng = "Der gik noget galt. Tiden kunne ikke findes"; TraceHjaelp(new[] { minutAntal.ToString() }, fejlStreng); return fejlStreng; } } catch (Exception ex) { TraceHjaelp(new[] { minutAntal.ToString() }, ex.Message); return ex.Message; } }
/// <summary> /// Opdaterer den pågældende brugers password til det skrevne password /// </summary> /// <param name="brugernavn"></param> /// <param name="password"></param> /// <returns>string med resultat</returns> public string OpdaterPassword(string brugernavn, string password) { using (DataContext dataContext = new DataContext()) { Brugere b = FindBruger(brugernavn); if (b != null) { try { b.Password = password; b.Password = KrypterStreng(password); dataContext.Brugere.AddOrUpdate(b); dataContext.SaveChanges(); string succesStreng = "Password er ændret"; TraceHjaelp(new []{brugernavn, "EncryptedText"}, succesStreng); return succesStreng; } catch (ArgumentException ex) { TraceHjaelp(new[] { brugernavn, "EncryptedText" }, ex.Message); return ex.Message; } } string fejlStreng = "Der gik noget galt med at finde din bruger. Prøv igen"; TraceHjaelp(new[] { brugernavn, "EncryptedText" }, fejlStreng); return fejlStreng; } }
/// <summary> /// Opdaterer den pågældende brugers email til den skrevne email /// </summary> /// <param name="brugernavn"></param> /// <param name="email"></param> /// <returns>string med resultat</returns> public string OpdaterEmail(string brugernavn, string email) { using (DataContext dataContext = new DataContext()) { Brugere b = FindBruger(brugernavn); if (b != null) { try { b.Email = email; dataContext.Brugere.AddOrUpdate(b); dataContext.SaveChanges(); string succesStreng = "Email er ændret"; TraceHjaelp(new []{brugernavn, email}, succesStreng); return succesStreng; } catch (ArgumentException ex) { TraceHjaelp(new[] { brugernavn, email }, ex.Message); return ex.Message; } } string fejlStreng = "Der gik noget galt med at finde din bruger. Prøv igen"; TraceHjaelp(new[] { brugernavn, email }, fejlStreng); return fejlStreng; } }
/// <summary> /// Henter bevægelser i det skrevne interval /// </summary> /// <param name="aarstal"></param> /// <param name="maaned"></param> /// <param name="slutdag"></param> /// <returns>int med antal bevægelser i intervallet</returns> public int HentTidspunkt(int aarstal, int maaned, int slutdag) { try { if (aarstal.ToString().Length == 4 && maaned >= 1 && maaned <= 12 && slutdag >= 1 && slutdag <= 31) { DateTime startsDato = new DateTime(aarstal, maaned, 1); DateTime slutsDato = new DateTime(aarstal, maaned, slutdag); using (DataContext dataContext = new DataContext()) { var query = from q in dataContext.Bevaegelser where q.Dato >= startsDato where q.Dato <= slutsDato select q; int succesInt = query.Count(); TraceHjaelp(new[] { aarstal.ToString(), maaned.ToString(), slutdag.ToString() }, succesInt.ToString()); return succesInt; } } int fejlInt = 0; TraceHjaelp(new[] { aarstal.ToString(), maaned.ToString(), slutdag.ToString() }, fejlInt.ToString()); return fejlInt; } catch (Exception ex) { TraceHjaelp(new []{aarstal.ToString(), maaned.ToString(), slutdag.ToString()}, ex.Message); return 0; } }
/// <summary> /// Henter temperatur i det skrevne interval /// </summary> /// <param name="startInterval"></param> /// <param name="slutInterval"></param> /// <returns>int med antal bevægelser i intervallet</returns> public int HentTemperatur(int startInterval, int slutInterval) { using (DataContext datacontext = new DataContext()) { var query = from p in datacontext.Bevaegelser where p.Temperatur >= startInterval && p.Temperatur <= slutInterval select p; int succesInt = query.Count(); TraceHjaelp(new []{startInterval.ToString(), slutInterval.ToString()}, succesInt.ToString()); return succesInt; } }
/// <summary> /// Henter bevægelser i det skrevne interval /// </summary> /// <param name="aarstal"></param> /// <param name="maaned"></param> /// <param name="slutdag"></param> /// <returns>int med antal bevægelser</returns> public int HentTidspunkt(int aarstal, int maaned, int slutdag) { if (aarstal.ToString().Length == 4 && maaned >= 1 && maaned <= 12 && slutdag >= 1 && slutdag <= 31) { DateTime startsDato = new DateTime(aarstal, maaned, 1); DateTime slutsDato = new DateTime(aarstal, maaned, slutdag); using (DataContext dataContext = new DataContext()) { var query = from q in dataContext.Bevaegelser where q.Dato >= startsDato where q.Dato <= slutsDato select q; return query.Count(); } } return 0; }
/// <summary> /// Opdatere den pågældende brugers password til det skrevne password /// </summary> /// <param name="brugernavn"></param> /// <param name="password"></param> /// <returns>string med resultat</returns> public string OpdaterPassword(string brugernavn, string password) { using (DataContext dataContext = new DataContext()) { Brugere b = FindBruger(brugernavn); if (b != null) { try { b.Password = password; dataContext.Brugere.AddOrUpdate(b); dataContext.SaveChanges(); return "Password er ændret"; } catch (ArgumentException ex) { return ex.Message; } } return "Der gik noget galt med at finde din bruger. Prøv igen"; } }
/// <summary> /// Opretter en bruger med de pågældende parametre /// </summary> /// <param name="brugernavn"></param> /// <param name="password"></param> /// <param name="email"></param> /// <returns>string med resultat</returns> public string OpretBruger(string brugernavn, string password, string email) { using (DataContext dataContext = new DataContext()) { Brugere exBruger = FindBruger(brugernavn); if (exBruger == null) { if (brugernavn == null) { string fejlStreng = "Brugernavnet skal udfyldes"; TraceHjaelp(new[] { brugernavn, "EncryptedText", email }, fejlStreng); return fejlStreng; } if (password == null) { string fejlStreng1 = "Password skal udfyldes"; TraceHjaelp(new[] { brugernavn, "EncryptedText", email }, fejlStreng1); return fejlStreng1; } if (email == null) { string fejlStreng2 = "Email skal udfyldes"; TraceHjaelp(new[] {brugernavn, "EncryptedText", email}, fejlStreng2); return fejlStreng2; } try { Brugere b = new Brugere() {Brugernavn = brugernavn, Password = password, Email = email}; b.Password = KrypterStreng(password); dataContext.Brugere.Add(b); dataContext.SaveChanges(); string succesStreng = brugernavn + " er oprettet i databasen"; TraceHjaelp(new[] {brugernavn, "EncryptedText", email}, succesStreng); return succesStreng; } catch (ArgumentException ex) { TraceHjaelp(new[] {brugernavn, "EncryptedText", email}, ex.Message); return ex.Message; } } } string fejlStreng3 = "Brugernavnet findes allerede i databasen"; TraceHjaelp(new[] { brugernavn, "EncryptedText", email }, fejlStreng3); return fejlStreng3; }
private void Alarmer() { using (DataContext dataContext = new DataContext()) { foreach (var bruger in dataContext.Brugere) { SendEmail(bruger.Email, "Indbrud", "Der er indbrud!"); } _alarmBool = false; } }
/// <summary> /// Sletter et bevægelses element med det pågældende id /// </summary> /// <param name="id"></param> /// <returns>bevægelsen med id(id)</returns> public Bevaegelser SletHistorik(int id) { using (DataContext dataContext = new DataContext()) { Bevaegelser b = dataContext.Bevaegelser.FirstOrDefault(bevaegelse => bevaegelse.Id == id); if (b != null) { dataContext.Bevaegelser.Remove(b); dataContext.SaveChanges(); TraceHjaelp(new []{id.ToString()}, b.ToString()); return b; } TraceHjaelp(new []{id.ToString()}, "null"); return null; } }
private void SensorLoop() { Task.Run((() => SetTrue())); using (DataContext dataContext = new DataContext()) { while (true) { if (DateTime.Now.Hour < 17 && DateTime.Now.Hour > 8) { //Random r = new Random(); //string testmessage = "RoomSensor Broadcasting\r\n" + // "Location: Teachers room\r\n" + // "Platform: Linux - 3.12.28 + -armv6l - with - debian - 7.6\r\n" + // "Machine: armv6l\r\n" + // "Potentiometer(8bit): 134\r\n" + // "Light Sensor(8bit): 159\r\n" + // "Temperature(8bit): 215\r\n" + // "Movement last detected: 2015 - 10 - 29 09:27:" + r.Next(1,99) + ".001053\r\n"; //byte[] staticBytes = Encoding.ASCII.GetBytes(testmessage); byte[] bytes = _client.Receive(ref _ipAddress); Task.Run(() => DataBehandling(bytes, ref _senesteDato, ref _senesteTid)); Thread.Sleep(60000); } } } }
private void AktiverAlarm() { using (DataContext dataContext = new DataContext()) { while (true) { _alarmBool = true; var firstOrDefault = dataContext.Tider.FirstOrDefault(t => t.Id == 1); if (firstOrDefault != null && firstOrDefault.SoveTidEfterAlarmering > 0) Thread.Sleep(firstOrDefault.SoveTidEfterAlarmering); else { Thread.Sleep(3600000); } } } }
public Brugere OpdaterEmail(string brugernavn, string email) { using (DataContext dataContext = new DataContext()) { Brugere b = FindBruger(brugernavn); if (b != null && email.Contains("@")) { b.Email = email; dataContext.Brugere.AddOrUpdate(b); dataContext.SaveChanges(); return b; } return null; } }
private void SensorLoop() { Task.Run((() => AktiverAlarm())); using (DataContext dataContext = new DataContext()) { while (true) { var tid = (from q in dataContext.Tider where q.Id == 1 select q).SingleOrDefault(); if (AktiverSensor(DateTime.Now.TimeOfDay, tid.Fra, tid.Til)) { //Random r = new Random(); //string testmessage = "RoomSensor Broadcasting\r\n" + // "Location: Teachers room\r\n" + // "Platform: Linux - 3.12.28 + -armv6l - with - debian - 7.6\r\n" + // "Machine: armv6l\r\n" + // "Potentiometer(8bit): 134\r\n" + // "Light Sensor(8bit): 159\r\n" + // "Temperature(8bit): 215\r\n" + // "Movement last detected: 2015 - 10 - 29 09:27:" + r.Next(1,99) + ".001053\r\n"; //byte[] staticBytes = Encoding.ASCII.GetBytes(testmessage); byte[] bytes = _client.Receive(ref _ipAddress); Task.Run(() => DataBehandling(bytes, ref _senesteDato, ref _senesteTid)); var firstOrDefault = dataContext.Tider.FirstOrDefault(t => t.Id == 1); if (firstOrDefault != null && firstOrDefault.SoveTidEfterMaaling > 0) Thread.Sleep(firstOrDefault.SoveTidEfterMaaling); else { Thread.Sleep(60000); } } } } }
public Brugere OpretBruger(string brugernavn, string password, string email) { bool indeholderIkkeBrugernavn = false; bool indeholderSnabelA = false; using (DataContext dataContext = new DataContext()) { Brugere exBruger = FindBruger(brugernavn); #region Betingelser if (!password.Contains(brugernavn)) { indeholderIkkeBrugernavn = true; } if (email.Contains("@")) { indeholderSnabelA = true; } #endregion if (exBruger == null && PasswordTjekker(password) && indeholderIkkeBrugernavn && indeholderSnabelA) { Brugere b = new Brugere() {Brugernavn = brugernavn, Password = password, Email = email}; dataContext.Brugere.Add(b); dataContext.SaveChanges(); return b; } return null; } }
public void TestOpretBruger2() { Random r = new Random(); string name = "linda" + r.Next(1000, 2000); Assert.AreEqual(name + " er oprettet i databasen", client.OpretBruger(name, "J4566785", name + "@gmail.com")); using (DataContext dataContext = new DataContext()) { Brugere b = dataContext.Brugere.FirstOrDefault(bruger => bruger.Brugernavn == name); if (b != null) { dataContext.Brugere.Remove(b); dataContext.SaveChanges(); } } }
private static void DoIt(byte[] bytes, ref int lastTemp) { string resp = Encoding.ASCII.GetString(bytes); string cut = resp.Split('\r')[6]; string cut2 = cut.Split(':')[1]; string cut3 = cut2.Split(' ')[1]; string cut4 = cut3[0].ToString() + cut3[1].ToString() + "," + cut3[2].ToString(); int temp = int.Parse(cut3); //if (lastTemp != temp) //{ using (DataContext dataContext = new DataContext()) { DateTime tidspunkt = DateTime.Now; dataContext.Bevaegelser.Add(new Bevaegelser() {Temperatur = temp, Tidspunkt = tidspunkt}); dataContext.SaveChanges(); } lastTemp = temp; //} }
public void TestSletHistorik() { Random r = new Random(); bool actual = false; Bevaegelser b1 = service.SletHistorik(r.Next(678,748)); if (b1 != null) { actual = true; } using (DataContext dataContext = new DataContext()) { dataContext.Bevaegelser.Add(b1); dataContext.SaveChanges(); } Assert.IsTrue(actual); }
//Integrationstest public void TestSletHistorik1() { Random r = new Random(); bool actual = false; Bevaegelser b1 = client.SletHistorik(r.Next(350, 530)); if (b1 != null) { actual = true; } using (DataContext dataContext = new DataContext()) { dataContext.Bevaegelser.Add(b1); dataContext.SaveChanges(); } Assert.AreEqual(true, actual); }
/// <summary> /// Finder bruger ud fra skrevne parametre /// </summary> /// <param name="brugernavn"></param> /// <param name="id"></param> /// <param name="email"></param> /// <returns>Bruger-objekt</returns> public Brugere FindBruger(string brugernavn = null, int id = 0, string email = null) { using (DataContext dataContext = new DataContext()) { if (email != null) { Brugere b = dataContext.Brugere.FirstOrDefault(bruger => bruger.Email == email); if (b != null) { TraceHjaelp(new[] { brugernavn, id.ToString(), email }, b.ToString()); return b; } TraceHjaelp(new []{brugernavn, id.ToString(), email}, "Brugeren er Null"); return null; } if (brugernavn != null) { Brugere b = dataContext.Brugere.FirstOrDefault(bruger => bruger.Brugernavn == brugernavn); if (b != null) { TraceHjaelp(new[] { brugernavn, id.ToString(), email }, b.ToString()); return b; } TraceHjaelp(new[] { brugernavn, id.ToString(), email }, "Brugeren er Null"); return null; } Brugere br = dataContext.Brugere.FirstOrDefault(bruger => bruger.Id == id); if (br != null) { TraceHjaelp(new[] { brugernavn, id.ToString(), email }, br.ToString()); return br; } TraceHjaelp(new[] { brugernavn, id.ToString(), email }, "Brugeren er Null"); return null; } }