public void UpdateExercise(ExerciseDetails exercise) { using (var conn = CreateConnection()) using (var tran = conn.BeginTransaction()) { try { conn.Execute("DELETE FROM ExerciseTarget WHERE ExerciseId=@Id", new { exercise.Id }, tran); conn.Execute("DELETE FROM ExerciseEquipment WHERE ExerciseId=@Id", new { exercise.Id }, tran); conn.Execute("UPDATE Exercise SET Name=@Name,PercentageBW=@PercentageBW WHERE Id=@Id", exercise, tran); if (exercise.Targets != null && exercise.Targets.Length > 0) { conn.Execute("INSERT INTO ExerciseTarget(ExerciseId,MuscleGroupId,Type) VALUES(@ExerciseId,@MuscleGroupId,'Primary')", exercise.Targets.Select(t => new { ExerciseId = exercise.Id, MuscleGroupId = t }), tran); } if (exercise.SecondaryTargets != null && exercise.SecondaryTargets.Length > 0) { conn.Execute("INSERT INTO ExerciseTarget(ExerciseId,MuscleGroupId,Type) VALUES(@ExerciseId,@MuscleGroupId,'Secondary')", exercise.SecondaryTargets.Select(t => new { ExerciseId = exercise.Id, MuscleGroupId = t }), tran); } if (exercise.Equipments != null && exercise.Equipments.Length > 0) { conn.Execute("INSERT INTO ExerciseEquipment(ExerciseId,EquipmentId) VALUES(@ExerciseId,@EquipmentId)", exercise.Equipments.Select(e => new { ExerciseId = exercise.Id, EquipmentId = e }), tran); } tran.Commit(); } catch { tran.Rollback(); throw; } } }
public void CreateExercise(ExerciseDetails exercise) { exercise.Id = Guid.NewGuid(); exercise.Created = DateTimeOffset.Now; using (var conn = CreateConnection()) using (var tran = conn.BeginTransaction()) { try { conn.Execute("INSERT INTO Exercise(Id, UserId, Name,Created,PercentageBW) VALUES(@Id, @UserId, @Name,@Created,@PercentageBW)", exercise, tran); if (exercise.Targets != null && exercise.Targets.Length > 0) { conn.Execute("INSERT INTO ExerciseTarget(ExerciseId,MuscleGroupId,Type) VALUES(@ExerciseId,@MuscleGroupId,'Primary')", exercise.Targets.Select(t => new { ExerciseId = exercise.Id, MuscleGroupId = t }), tran); } if (exercise.SecondaryTargets != null && exercise.SecondaryTargets.Length > 0) { conn.Execute("INSERT INTO ExerciseTarget(ExerciseId,MuscleGroupId,Type) VALUES(@ExerciseId,@MuscleGroupId,'Secondary')", exercise.SecondaryTargets.Select(t => new { ExerciseId = exercise.Id, MuscleGroupId = t }), tran); } if (exercise.Equipments != null && exercise.Equipments.Length > 0) { conn.Execute("INSERT INTO ExerciseEquipment(ExerciseId,EquipmentId) VALUES(@ExerciseId,@EquipmentId)", exercise.Equipments.Select(e => new { ExerciseId = exercise.Id, EquipmentId = e }), tran); } tran.Commit(); } catch { exercise.Id = Guid.Empty; throw; } } }
public void RestoreExercise(Guid id, out ExerciseDetails exercise) { throw new NotImplementedException(); }