BanMtrlDefExcutor.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. using LJLib.SQLEX;
  10. namespace JLHHJSvr.Excutor
  11. {
  12. internal sealed class BanMtrlDefExcutor : ExcutorBase<BanMtrlDefRequest, BanMtrlDefResponse>
  13. {
  14. protected override void ExcuteInternal(BanMtrlDefRequest request, object state, BanMtrlDefResponse rslt)
  15. {
  16. var tokendata = BllHelper.GetToken(request.token);
  17. if (tokendata == null)
  18. {
  19. rslt.ErrMsg = "会话已经中断,请重新登录";
  20. return;
  21. }
  22. if (!request.list.Any())
  23. {
  24. rslt.ErrMsg = $"至少提交一条需要{(request.type > 0 ? "反禁用" : "禁用")}的记录";
  25. return;
  26. }
  27. using (var con = GlobalVar.ConnectionString.NewSqlConnection())
  28. using (var cmd = con.CreateCommand())
  29. {
  30. con.Open();
  31. using (cmd.Transaction = con.BeginTransaction())
  32. {
  33. try
  34. {
  35. foreach (var mtrl in request.list)
  36. {
  37. mtrl.isuse = request.type;
  38. DbSqlHelper.Update(cmd, "u_mtrl_price", null, mtrl, "mtrlid", "isuse");
  39. }
  40. cmd.Transaction.Commit();
  41. }
  42. catch (Exception e)
  43. {
  44. cmd.Transaction.Rollback();
  45. rslt.ErrMsg = e.ToString();
  46. }
  47. }
  48. }
  49. }
  50. }
  51. }