public IList <Exercise> FindByKidSet(KidSet kidSet) { var shouldOpenConnection = Connection.State != ConnectionState.Open; if (shouldOpenConnection) { Connection.Open(); } var ret = Connection.Query <Exercise>(@"SELECT e.[ExerciseId] ,e.[ExerciseInventory] ,e.[ExerciseSteps] ,e.[LevelId] as [ExerciseMainLevelId] ,l.[SkillId] as [ExerciseMainSkillId] ,e.[ExerciseName] ,e.[UserId] ,e.[IsArchived] FROM [Exercise] e INNER JOIN [Level] l ON e.[LevelId]=l.[LevelId] INNER JOIN [KidSetExercise] kse ON kse.[ExerciseId]=e.[ExerciseId] WHERE kse.[KidSetId]=@KidSetId ", kidSet).ToList(); foreach (var exercise in ret) { exercise.ExerciseSecondarySkills = FindExerciseSecondarySkills(exercise.ExerciseId); } if (shouldOpenConnection) { Connection.Close(); } return(ret); }
public void Add(KidSet kidSet) { var shouldOpenConnection = Connection.State != ConnectionState.Open; if (shouldOpenConnection) { Connection.Open(); } Connection.Execute(@"INSERT INTO [KidSet]([KidId],[KidSetId],[CreateDateTime]) VALUES (@KidId,@KidSetId,@CreateDateTime)", kidSet); if (kidSet.ExerciseIdsInSet != null) { foreach (var exerciseId in kidSet.ExerciseIdsInSet) { Connection.Execute(@"INSERT INTO [KidSetExercise]([KidSetId],[ExerciseId]) VALUES (@KidSetId,@ExerciseId)", new { kidSet.KidSetId, ExerciseId = exerciseId }); } } if (shouldOpenConnection) { Connection.Close(); } }
[HttpPost] public IList <Exercise> FindByKidSet(KidSet kidSet) { return(ExerciseRepository.FindByKidSet(kidSet)); }
[HttpPost] public void Remove(KidSet kidSet) { //TODO }
private IList <Guid> FindExerciseIdsInSet(KidSet kidSet) { return(Connection .Query <Guid>("SELECT [ExerciseId] FROM [KidSetExercise] WHERE [KidSetId]=@KidSetId", kidSet).ToList()); }