TbdmCodeRepository.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using Ropin.Inspection.Model;
  2. using Ropin.Inspection.Model.Entities;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. namespace Ropin.Inspection.Repository
  8. {
  9. public class TbdmCodeRepository : RepositoryBase<TBDM_CodeMain, string>, ITbdmCodeRepository
  10. {
  11. public TbdmCodeRepository(InspectionDbContext DbContext) : base(DbContext)
  12. {
  13. }
  14. public async Task<List<TbdmCodeViewModel>> GetProvListTreeAsync()
  15. {
  16. var CodeMain = DbContext.TBDM_CodeMain.ToList();
  17. var CodeDetail = DbContext.TBDM_CodeDetail.ToList();
  18. var treeList = new List<TbdmCodeViewModel>();
  19. foreach (var itemProv in CodeMain.Where(p => p.C_Status == "1"))
  20. {
  21. TbdmCodeViewModel provModel = new TbdmCodeViewModel()
  22. {
  23. C_Code = itemProv.C_Code,
  24. C_Name = itemProv.C_Name,
  25. I_Sort = itemProv.I_Sort,
  26. C_Remark = itemProv.C_Remark,
  27. C_Status = itemProv.C_Status
  28. };
  29. provModel.Children = new List<TbdmDetailCode>();
  30. foreach (var itemCity in CodeDetail.Where(c => c.C_Status == "1" && c.C_MainCode == itemProv.C_Code))
  31. {
  32. TbdmDetailCode cityModel
  33. = new TbdmDetailCode()
  34. {
  35. C_Code = itemCity.C_Code,
  36. C_MainCode = itemProv.C_Code,
  37. C_Name = itemCity.C_Name,
  38. I_Sort = itemCity.I_Sort,
  39. C_IsSys = itemCity.C_IsSys,
  40. C_Default = itemCity.C_Default,
  41. C_Remark = itemCity.C_Remark,
  42. C_Status = itemCity.C_Status
  43. };
  44. provModel.Children.Add(cityModel);
  45. }
  46. treeList.Add(provModel);
  47. }
  48. return await Task.Run(() => treeList);
  49. }
  50. public Task<bool> DeleteByCodeAsync( string code)
  51. {
  52. MySqlConnector.MySqlParameter[] parameters = new[] {
  53. new MySqlConnector.MySqlParameter("code", code)
  54. };
  55. string sql = @"UPDATE TBDM_CodeMain SET C_Status= '0' WHERE (C_Code = @code);
  56. UPDATE TBDM_CodeDetail SET C_Status= '0' WHERE (C_MainCode = @code);";
  57. int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
  58. if (iResult > 0)
  59. return Task.FromResult(true);
  60. else
  61. return Task.FromResult(false);
  62. }
  63. }
  64. }