BorrowReturn_DAL.cs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. using Model;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace DAL
  10. {
  11. public class BorrowReturn_DAL
  12. {
  13. //查询借还表信息
  14. public DataSet selectHostory(BorrowReturn b, string radioName, String cboBorrowTimeType, Boolean checkTime)
  15. {
  16. string sql = string.Format(@"select BookInfo.BookId as 'BookId',Reader.ReaderId as 'ReaderId',BookName,ReaderName,
  17. BookTypeName,ReaderTypeName,Gender,IdentityCard,
  18. BorrowTime,ReturnTime,FactReturnTime,Fine,RenewCount
  19. from BorrowReturn
  20. inner join BookInfo on BookInfo.BookId=BorrowReturn.BookId
  21. inner join Reader on Reader.ReaderId=BorrowReturn.ReaderId
  22. inner join BookType on BookType.BookTypeId=BookInfo.BookTypeId
  23. inner join ReaderType on ReaderType.ReaderTypeId=Reader.ReaderTypeId
  24. where BookInfo.BookId like '%{0}%' and
  25. Reader.ReaderId like '%{1}%' ", b.BookId, b.ReaderId);
  26. if (radioName == "全部")
  27. {
  28. }
  29. else if (radioName == "已借")
  30. {
  31. sql += " and FactReturnTime is null ";
  32. }
  33. else if (radioName == "已还")
  34. {
  35. sql += " and FactReturnTime is not null ";
  36. }
  37. if (checkTime)
  38. {
  39. if (cboBorrowTimeType == "日期")
  40. {
  41. sql += string.Format(@" and BorrowId in(
  42. select BorrowId from BorrowReturn where BorrowTime between '{0}' and '{1}' union
  43. select BorrowId from BorrowReturn where ReturnTime between '{0}' and '{1}' union
  44. select BorrowId from BorrowReturn where FactReturnTime between '{0}' and '{1}'
  45. ) ", b.TimeIn, b.TimeOut);
  46. }
  47. else if (cboBorrowTimeType == "借书日期")
  48. {
  49. sql += @" and BorrowTime between '" + b.TimeIn + "' and '" + b.TimeOut + "' ";
  50. }
  51. else if (cboBorrowTimeType == "应还书日期")
  52. {
  53. sql += @" and ReturnTime between '" + b.TimeIn + "' and '" + b.TimeOut + "' ";
  54. }
  55. else if (cboBorrowTimeType == "实际还书日期")
  56. {
  57. sql += @" and FactReturnTime between '" + b.TimeIn + "' and '" + b.TimeOut + "' ";
  58. }
  59. }
  60. return DBhelp.Create().ExecuteAdater(sql);
  61. }
  62. //借还表全部信息 包括现在借阅的和历史借阅的
  63. public DataSet AllBorrowReturn()
  64. {
  65. string sql = @"select BookInfo.BookId as 'BookId',Reader.ReaderId as 'ReaderId',BookName,ReaderName,
  66. BookTypeName,ReaderTypeName,Gender,IdentityCard,
  67. BorrowTime,ReturnTime,FactReturnTime,Fine,RenewCount
  68. from BorrowReturn
  69. inner join BookInfo on BookInfo.BookId=BorrowReturn.BookId
  70. inner join Reader on Reader.ReaderId=BorrowReturn.ReaderId
  71. inner join BookType on BookType.BookTypeId=BookInfo.BookTypeId
  72. inner join ReaderType on ReaderType.ReaderTypeId=Reader.ReaderTypeId";
  73. return DBhelp.Create().ExecuteAdater(sql);
  74. }
  75. //查询图书借还表(表连接)
  76. public DataSet selectBorrowReturn(string BookId)
  77. {
  78. string sql = @"select BookInfo.BookId,BookName,Reader.ReaderId,ReaderName,BorrowTime,ReturnTime,FactReturnTime,Fine,RenewCount,BorrowRemark from BookInfo
  79. inner join BorrowReturn on BorrowReturn.BookId=BookInfo.BookId
  80. inner join Reader on Reader.ReaderId=BorrowReturn.ReaderId
  81. where BookInfo.BookId=@BookId ";
  82. SqlParameter[] sp ={
  83. new SqlParameter("@BookId",BookId)
  84. };
  85. return DBhelp.Create().ExecuteAdater(sql, sp);
  86. }
  87. //读者借阅记录
  88. public DataSet ReaderBorrowReturn(string ReaderId)
  89. {
  90. string sql = @"select BorrowId,Reader.ReaderId as 'ReaderId',ReaderName,BookInfo.BookId as 'BookId',BookName,BorrowTime,ReturnTime,FactReturnTime,Fine,RenewCount,BorrowRemark from Reader
  91. inner join BorrowReturn on BorrowReturn.ReaderId=Reader.ReaderId
  92. inner join BookInfo on BookInfo.BookId=BorrowReturn.BookId
  93. where Reader.ReaderId=@ReaderId and FactReturnTime is null ";
  94. SqlParameter[] sp ={
  95. new SqlParameter("@ReaderId",ReaderId)
  96. };
  97. return DBhelp.Create().ExecuteAdater(sql, sp);
  98. }
  99. //读者历史借阅记录
  100. public DataSet ReaderBorrowReturn1(string ReaderId)
  101. {
  102. string sql = @"select BorrowId,Reader.ReaderId as 'ReaderId',ReaderName,BookInfo.BookId as 'BookId',BookName,BorrowTime,ReturnTime,FactReturnTime,Fine,RenewCount,BorrowRemark from Reader
  103. inner join BorrowReturn on BorrowReturn.ReaderId=Reader.ReaderId
  104. inner join BookInfo on BookInfo.BookId=BorrowReturn.BookId
  105. where Reader.ReaderId=@ReaderId and FactReturnTime is not null ";
  106. SqlParameter[] sp ={
  107. new SqlParameter("@ReaderId",ReaderId)
  108. };
  109. return DBhelp.Create().ExecuteAdater(sql, sp);
  110. }
  111. //还书
  112. public int ReturnBook(int BorrowReturnId)
  113. {
  114. string sql = @"update BorrowReturn set FactReturnTime=@FactReturnTime,RenewCount=0 where BorrowId=@BorrowId";
  115. SqlParameter[] sp ={
  116. new SqlParameter("@FactReturnTime",DateTime.Now),
  117. new SqlParameter("@BorrowId",BorrowReturnId)
  118. };
  119. return DBhelp.Create().ExecuteNonQuery(sql, sp: sp);
  120. }
  121. //借书
  122. public int BorrowBook(BorrowReturn b)
  123. {
  124. string sql = "proc_BorrowBook";
  125. SqlParameter[] sp ={
  126. new SqlParameter("@BorrowId",DbType.Int32),
  127. new SqlParameter("@BookId",b.BookId),
  128. new SqlParameter("@ReaderId",b.ReaderId),
  129. new SqlParameter("@BorrowTime",b.BorrowTime),
  130. new SqlParameter("@ReturnTime",b.ReturnTime),
  131. new SqlParameter("@Fine",b.Fine),
  132. new SqlParameter("@RenewCount",b.RenewCount),
  133. new SqlParameter("@BorrowRemark",b.BorrowRemark),
  134. new SqlParameter("@ReturnValue",DbType.Int32)
  135. };
  136. sp[0].Direction = ParameterDirection.Output;
  137. sp[sp.Length - 1].Direction = ParameterDirection.ReturnValue;
  138. DBhelp.Create().ExecuteNonQuery(sql, CommandType.StoredProcedure, sp);
  139. b.BorrowId = (int)sp[0].Value;
  140. return (int)sp[sp.Length - 1].Value;
  141. }
  142. //续借
  143. public int RenewBook(BorrowReturn b)
  144. {
  145. string sql = @"update BorrowReturn set ReturnTime=dateadd(month,3,ReturnTime),RenewCount=RenewCount+1 where BorrowId=@BorrowId";
  146. SqlParameter[] sp ={
  147. new SqlParameter("@BorrowId",b.BorrowId)
  148. };
  149. return DBhelp.Create().ExecuteNonQuery(sql, sp: sp);
  150. }
  151. }
  152. }