public void Map_data(Driving_Data aData) { User_Driving_Data aDrivingData = new User_Driving_Data(); aDrivingData.User_Id = aData.userID; aDrivingData.Session_Id = aData.Session_Id; //aDrivingData.Data_Id = 1; aDrivingData.Frequency = aData.frequency; aDrivingData.Street_Name = aData.streetName; aDrivingData.Speed_Limit = aData.speedLimit; aDrivingData.Longitude = aData.coordinate.longitude; aDrivingData.Latitude = aData.coordinate.latitude; aDrivingData.TimeStamp = aData.datetime; aDrivingData.Horizontal_Accuracy = aData.coordinate.horizontalAccuracy; aDrivingData.Speed = aData.speed; aDrivingData.Gravity_X = aData.gravity.x; aDrivingData.Gravity_Y = aData.gravity.y; aDrivingData.Gravity_Z = aData.gravity.z; aDrivingData.User_Acceleration_X = aData.userAcceleration.x; aDrivingData.User_Acceleration_Y = aData.userAcceleration.y; aDrivingData.User_Acceleration_Z = aData.userAcceleration.z; aDrivingData.Rotation_Rate_X = aData.rotationRate.x; aDrivingData.Rotation_Rate_Y = aData.rotationRate.y; aDrivingData.Rotation_Rate_Z = aData.rotationRate.z; aDrivingData.Magnetic_Flied_X = aData.magneticField.x; aDrivingData.Magnetic_Field_Y = aData.magneticField.y; aDrivingData.Magnetic_Field_Z = aData.magneticField.z; var factory = new DbConnectionFactory("testDatabase"); var context = new DbContext(factory); var sessionHistoryRepo = new Session_HistoryRepository(context); bool flag = sessionHistoryRepo.checkSession(aDrivingData.Session_Id); if (flag) { var sessionHistory = new Session_History(); sessionHistory.Session_Id = aDrivingData.Session_Id; sessionHistory.User_Id = aDrivingData.User_Id; sessionHistory.Start_time = DateTime.Now; sessionHistoryRepo.Insert(sessionHistory); } User_Driving_DataRepository arepo = new User_Driving_DataRepository(context); //////////////////////////////////////////////////Username //If you want use username instead of userid -------(change json model userid-> username) // // // //int untid = aUrepo.GetUserID(Username).User_Id; //aDrivingData.User_Id = untid; //////////////////////////////////////////////// arepo.Insert(aDrivingData); }
public IList <Session_History> RunHistory(HistoryData histoyData) { try { var factory = new DbConnectionFactory("testDatabase"); var context = new DbContext(factory); var repo = new Session_HistoryRepository(context); var list = repo.getHistory(histoyData.userID); return(list); } catch (Exception) { throw new Exception("Failed to Retrieve data"); } }
public void StopProcess(ProcessData processData) { try { var factory = new DbConnectionFactory("testDatabase"); var context = new DbContext(factory); var repo = new Session_HistoryRepository(context); var sessionHistory = new Session_History(); sessionHistory.Session_Id = processData.Session_Id; sessionHistory.User_Id = processData.userID; sessionHistory.End_time = DateTime.Now; repo.Update(sessionHistory); } catch (Exception) { throw new Exception("Failed to Retrieve data"); } }
public ScoringModel Score_Driving_Of_User(IList <User_Driving_Events> eventList, string SessionId) { foreach (var evnt in eventList) { if (evnt.Event_Type_Id == (int)(EventType.Agressive_Lane_Change)) { LaneChangeCount++; } else if (evnt.Event_Type_Id == (int)(EventType.Agressive_Turning)) { AggressiveTurningCount++; } else if (evnt.Event_Type_Id == (int)(EventType.Sudden_Braking)) { SuddenBrakingCount++; } else if (evnt.Event_Type_Id == (int)(EventType.Sudden_Acceleration)) { SuddenAccelerationCount++; } else if (evnt.Event_Type_Id == (int)(EventType.Speeding_Event)) { SpeedingCount++; } } SpeedingAndAccelerationCount = SuddenBrakingCount + SuddenAccelerationCount + SpeedingCount; if (LaneChangeCount > 0) { score = "High Risk"; } else if (AggressiveTurningCount > 0) { score = "Medium Risk"; } else if (SpeedingAndAccelerationCount > 0) { score = "Moderate Risk"; } else { score = "No Risk"; } var scoringModel = new ScoringModel(); scoringModel.Agressive_Lane_Change_Count = LaneChangeCount; scoringModel.Agressive_Turning_Count = AggressiveTurningCount; scoringModel.Sudden_Acceleration_Count = SuddenAccelerationCount; scoringModel.Sudden_Braking_Count = SuddenBrakingCount; scoringModel.Speeding_Event_Count = SpeedingCount; scoringModel.Session_Score = score; if (!eventList.Equals(null)) { var factory = new DbConnectionFactory("testDatabase"); var context = new DbContext(factory); var repo = new Session_HistoryRepository(context); var sessionHistory = new Session_History(); sessionHistory.Agressive_Lane_Change_Count = LaneChangeCount; sessionHistory.Agressive_Turning_Count = AggressiveTurningCount; sessionHistory.Sudden_Acceleration_Count = SuddenAccelerationCount; sessionHistory.Sudden_Braking_Count = SuddenBrakingCount; sessionHistory.Speeding_Event_Count = SpeedingCount; sessionHistory.Session_Score = score; sessionHistory.Session_Id = SessionId; repo.UpdateWithScores(sessionHistory); } return(scoringModel); }