public void Insert(IOpenPrediction prediction) { if (prediction.Fixture.OpenForPredictions) { try { using (var connection = DatabaseConnection.NewConnection()) { connection.Execute( @"INSERT INTO Prediction(FixtureId, PlayerId, HomeGoals, AwayGoals, SubmittedOn) VALUES (@FixtureId, @PlayerId, @HomeGoals, @AwayGoals, @SubmittedOn)", new { FixtureId = prediction.Fixture.Id, PlayerId = prediction.Player.Id, HomeGoals = prediction.Score.HomeGoals, AwayGoals = prediction.Score.AwayGoals, SubmittedOn = new Utility().UKDateTime } ); } } catch (Exception ex) { // TODO: Log throw ex; } } }
public IOpenPrediction Get(int id) { try { using (var connection = DatabaseConnection.NewConnection()) { IOpenPrediction prediction = connection.Query <OpenPrediction, Player, Fixture, OpenPrediction>( @"SELECT Prediction.Id, HomeGoals, AwayGoals, SubmittedOn, PlayerId, FixtureId FROM Prediction INNER JOIN Player ON Prediction.PlayerId = Player.Id INNER JOIN [User] ON Player.UserId = [User].Id WHERE Prediction.Id = @Id" , (thisPrediction, thisPlayer, thisFixture) => { thisPrediction.Player = thisPlayer; thisPrediction.Fixture = thisFixture; return(thisPrediction); }, new { Id = id }, splitOn: "PlayerId,FixtureId" ).FirstOrDefault(); return(prediction); } } catch (Exception ex) { throw ex; } }