Kaynağa Gözat

Opslaan users en openen ervan

RD125632 10 yıl önce
ebeveyn
işleme
8ee133e6a1

+ 2 - 12
Proftaak Remote Healthcare/FietsLibrary/JSONObjecten/Session.cs

@@ -21,19 +21,9 @@ namespace FietsLibrary.JSONObjecten
         public string note { get; private set; }
         public string modevalue { get; private set; }
 
-        public Session(int bikeMode, string modevalue)
+        public Session(int id, int bikeMode, string modevalue)
         {
-            if (!(Directory.Exists(@"JSON Files"))) 
-            {
-                Directory.CreateDirectory(@"JSON Files");
-            }
-            string[] fileEntries = Directory.GetFiles(@"JSON Files\");
-
-            if (fileEntries.Length > 0)
-                this.id = int.Parse(fileEntries[fileEntries.Length]);
-            else
-                this.id = 1;
-
+            this.id = id;
             this.session = new List<Measurement>();
             this.isActive = true;
             this.bikeMode = bikeMode;

+ 33 - 4
Proftaak Remote Healthcare/ServerV2/AppGlobal.cs

@@ -25,7 +25,35 @@ namespace ServerV2
         {
             listener = new TcpListener(IPAddress.Any, 1288);
             listener.Start();
-            TestMethode();
+
+            //Read UserDate file
+            string s = File.ReadAllText(@"JSON Files\UserData.Json");
+            dynamic results = JsonConvert.DeserializeObject<dynamic>(s);
+
+            foreach (dynamic r in results)
+            {
+                users.Add(new User(r.id.ToString(), r.password.ToString(), Int32.Parse(r.age.ToString()),
+                    Boolean.Parse(r.gender.ToString()), Int32.Parse(r.weight.ToString()),
+                    Boolean.Parse(r.isDoctor.ToString())));
+
+                int i = 1;
+
+                foreach (dynamic ses in r.tests)
+                {
+                    Session tempSession = new Session(i, Int32.Parse(ses.bikeMode.ToString()), ses.modevalue.ToString());
+                    i++;
+
+                    foreach (dynamic m in ses.session)
+                    {
+                        Measurement measurement = new Measurement(Int32.Parse(m.pulse.ToString()), Int32.Parse(m.rpm.ToString()), Int32.Parse(m.speed.ToString()), Int32.Parse(m.wattage.ToString()), Int32.Parse(m.distance.ToString()), Int32.Parse(m.requestedPower.ToString()), Int32.Parse(m.energy.ToString()), Int32.Parse(m.actualPower.ToString()), Int32.Parse(m.time.ToString()), Int32.Parse(m.bpm.ToString()));
+                        tempSession.AddMeasurement(measurement);
+                    }
+
+                    users.Last().AddSession(tempSession);
+                }
+
+            }
+            //TestMethode();
             while (true)
             {
                 
@@ -45,12 +73,12 @@ namespace ServerV2
             users.Add(new User("admin", "admin", 80, false, 77, true));
 
             Random r = new Random();
-            Session session = new Session(1, "100");
+            Session session = new Session(1, 1, "100");
             for (int i = 0; i < 20; i++)
                 session.AddMeasurement(new Measurement(r.Next(100, 200), r.Next(60, 100), r.Next(100, 150), r.Next(0, 100), i, r.Next(100), r.Next(100), r.Next(100), i, r.Next(100)));
             users.ElementAt(1).tests.Add(session);
 
-            Session session2 = new Session(2, "100");
+            Session session2 = new Session(2, 2, "100");
             for (int i = 0; i < 50; i++)
                 session2.AddMeasurement(new Measurement(r.Next(100, 200), r.Next(60, 100), r.Next(100, 150), r.Next(0, 100), i, r.Next(100), r.Next(100), r.Next(100), i, r.Next(100)));
             users.ElementAt(1).tests.Add(session2);
@@ -149,6 +177,7 @@ namespace ServerV2
                     case "2":   //Livedata opvragen
                         currentUser = users.First(item => item.id == response[1]);
                         FietsLibrary.JsonConverter.GetLastMeasurement(currentUser.tests.Last());
+                        File.WriteAllText(@"JSON Files\UserData.Json", JsonConvert.SerializeObject(users));
                         break;
                     case "3":   //Nieuwe meetsessie aanmaken
                         if (response.Length == 6)
@@ -156,7 +185,7 @@ namespace ServerV2
                             foreach (User u in users)
                             {
                                 if (u.id == response[1])
-                                    u.AddSession(new Session(int.Parse(response[2]), response[3]));
+                                    u.AddSession(new Session(u.GetSessions().Last().id + 1, int.Parse(response[2]), response[3]));
                             }
                         }
                         break;