public void AddStrengthTraining(WeightTrainingDTO training) { ITrainingDAL dal = TrainingDALFactory.GetTrainingDAL(); Guid trainingID = Guid.NewGuid(); List <RoundDTO> rounds = new List <RoundDTO>(); foreach (var round in training.GetRounds()) { Guid roundID = Guid.NewGuid(); List <SetDTO> sets = new List <SetDTO>(); foreach (var set in round.GetSets()) { SetDTO setToAdd = new SetDTO(set.Weight, Guid.NewGuid(), set.SetOrder, roundID); sets.Add(setToAdd); } RoundDTO roundToAdd = new RoundDTO(round.Exercise, roundID, trainingID, round.ExerciseID, sets); rounds.Add(roundToAdd); } WeightTrainingDTO weightTrainingToAdd = new WeightTrainingDTO(rounds, trainingID, training.UserID, training.Date, training.TrainingType); dal.AddWeightTraining(weightTrainingToAdd); }