TeamRepository.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System.Collections.Generic;
  2. using System.Data;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Dapper;
  6. using GCAS.Model;
  7. namespace GCAS.Code
  8. {
  9. public class TeamRepository
  10. {
  11. public async Task<int> Insert(TeamModel entity)
  12. {
  13. string exitSql = "Select count(1) from team where name=@Name";
  14. string insertSql = "INSERT into team (name,time,starttime,endtime) VALUES (@Name,NOW())";
  15. using (IDbConnection conn = DataBaseConfig.GetSqlConnection())
  16. {
  17. var count = await conn.QueryFirstAsync<int>(exitSql, new { entity.Name, entity.StartTime, entity.EndTime });
  18. if (count > 0)
  19. {
  20. return -1;
  21. }
  22. return await conn.ExecuteAsync(insertSql, entity);
  23. }
  24. }
  25. public async Task<int> Update(TeamModel entity)
  26. {
  27. string exitSql = "Select count(1) from team where name=@Name and id<>@Id";
  28. string insertSql = "Update team set name=@Name,starttime=@StartTime,endtime=@EndTime where id=@Id";
  29. using (IDbConnection conn = DataBaseConfig.GetSqlConnection())
  30. {
  31. var count = await conn.QueryFirstAsync<int>(exitSql, entity);
  32. if (count > 0)
  33. {
  34. return -1;
  35. }
  36. return await conn.ExecuteAsync(insertSql, entity);
  37. }
  38. }
  39. public async Task<int> Delete(int id)
  40. {
  41. string updateSql = "Delete from team WHERE id=@Id";
  42. using (IDbConnection conn = DataBaseConfig.GetSqlConnection())
  43. {
  44. return await conn.ExecuteAsync(updateSql, new { Id = id });
  45. }
  46. }
  47. public List<TeamModel> GetList()
  48. {
  49. string selectSql = "SELECT id,name,time,starttime,endtime from team ORDER BY id ASC";
  50. using (IDbConnection conn = DataBaseConfig.GetSqlConnection())
  51. {
  52. return conn.Query<TeamModel>(selectSql).ToList();
  53. }
  54. }
  55. public async Task<TeamModel> Get(int id)
  56. {
  57. string selectSql = "SELECT id,name,time,starttime,endtime FROM team WHERE id=@Id";
  58. using (IDbConnection conn = DataBaseConfig.GetSqlConnection())
  59. {
  60. return await Task.Run(() => conn.QueryFirstOrDefault<TeamModel>(selectSql, new { Id = id }));
  61. }
  62. }
  63. }
  64. }