BanMultiPriceExcutor.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using System.Data.SqlClient;
  3. using System.Linq;
  4. using JLHHJSvr.BLL;
  5. using JLHHJSvr.Com;
  6. using JLHHJSvr.LJException;
  7. using LJLib.DAL.SQL;
  8. using LJLib.Net.SPI.Server;
  9. namespace JLHHJSvr.Excutor
  10. {
  11. internal sealed class BanMultiPriceExcutor : ExcutorBase<BanMultiPriceRequest, BanMultiPriceResponse>
  12. {
  13. protected override void ExcuteInternal(BanMultiPriceRequest request, object state, BanMultiPriceResponse rslt)
  14. {
  15. var tokendata = BllHelper.GetToken(request.token);
  16. if (tokendata == null)
  17. {
  18. rslt.ErrMsg = "会话已经中断,请重新登录";
  19. return;
  20. }
  21. if (!request.list.Any())
  22. {
  23. rslt.ErrMsg = $"至少提交一条需要{(request.type > 0 ? "反禁用" : "禁用")}的记录";
  24. return;
  25. }
  26. using (var con = new SqlConnection(GlobalVar.ConnectionString))
  27. using (var cmd = con.CreateCommand())
  28. {
  29. con.Open();
  30. using (cmd.Transaction = con.BeginTransaction())
  31. {
  32. try
  33. {
  34. foreach (var price in request.list)
  35. {
  36. price.inuse = request.type;
  37. DbSqlHelper.Update(cmd, "u_multiprice", null, price, "multipriceid", "inuse");
  38. }
  39. cmd.Transaction.Commit();
  40. }
  41. catch (Exception e)
  42. {
  43. cmd.Transaction.Rollback();
  44. rslt.ErrMsg = e.ToString();
  45. }
  46. }
  47. }
  48. }
  49. }
  50. }