private void AddWorkout() { transaction = new TransactionScope(); dailyMetricsRepo = new SqlDailyMetricsRepository(connectionString); locationRepo = new SqlLocationRepository(connectionString); weatherRepo = new SqlWeatherRepository(connectionString); environmentRepo = new SqlEnvironmentRepository(connectionString); sessionRepo = new SqlSessionRepository(connectionString); workoutRepo = new SqlWorkoutRepository(connectionString); transaction.Dispose(); var dailyMetric = dailyMetricsRepo.CreateDailyMetrics(Date, Weight, SleepDuration, Calories); var location = locationRepo.CreateLocation(Location); var weather = weatherRepo.CreateWeather(WeatherType); var enviroment = environmentRepo.CreateEnvironment(weather.WeatherID, location.LocationID, IsIndoor); var session = sessionRepo.CreateSession(dailyMetric.MetricID, enviroment.EnvironmentID, StartTime, EndTime, Rating); var workout = workoutRepo.CreateWorkout(session.SessionID, Duration, AvgHeartRate); }