using Dapper; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using Traffic.Data.Models; using Traffic.Repository.Interfaces; namespace Traffic.Repository.Implements { public class NotPunishRepository : INotPunishRepository { public IDbTransaction Transaction { get; } public IDbConnection Connection => Transaction.Connection; public NotPunishRepository(IDbTransaction transaction) { Transaction = transaction; } public IEnumerable GetNotPunishs() { var sql = $"SELECT * FROM {nameof(NotPunish)}"; return Connection.Query(sql, null, Transaction); } public NotPunish GetNotPunishById(int id) { var sql = $"SELECT * FROM {nameof(NotPunish)} Where {nameof(NotPunish.Id)} = @{nameof(NotPunish.Id)}"; return Connection.QueryFirstOrDefault(sql, new { id }, Transaction); } public bool InsertNotPunish(NotPunish data) { var sql = $@"INSERT INTO {nameof(NotPunish)} ( {nameof(NotPunish.EventTypeId)}, {nameof(NotPunish.NotPunishType)}, {nameof(NotPunish.NotPunishReason)}) VALUES(@{nameof(NotPunish.EventTypeId)}, @{nameof(NotPunish.NotPunishType)}, @{nameof(NotPunish.NotPunishReason)})"; var result = Connection.Execute(sql, data, Transaction); return result == 1; } public bool UpdateNotPunish(NotPunish data) { var sql = $@"UPDATE {nameof(NotPunish)} SET {nameof(NotPunish.EventTypeId)} = @{nameof(NotPunish.EventTypeId)}, {nameof(NotPunish.NotPunishType)} = @{nameof(NotPunish.NotPunishType)}, {nameof(NotPunish.NotPunishReason)} = @{nameof(NotPunish.NotPunishReason)} WHERE {nameof(NotPunish.Id)} = @{nameof(NotPunish.Id)}"; var result = Connection.Execute(sql, data, Transaction); return result == 1; } public bool DeleteNotPunish(int id) { var sql = $@"DELETE FROM {nameof(NotPunish)} WHERE {nameof(NotPunish.Id)} = @{nameof(NotPunish.Id)}"; var result = Connection.Execute(sql, new { id }, Transaction); return result == 1; } } }