using Ropin.Inspection.Model; using Ropin.Inspection.Model.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Ropin.Inspection.Repository { public class TbdmCodeRepository : RepositoryBase, ITbdmCodeRepository { public TbdmCodeRepository(InspectionDbContext DbContext) : base(DbContext) { } public async Task> GetProvListTreeAsync() { var CodeMain = DbContext.TBDM_CodeMain.ToList(); var CodeDetail = DbContext.TBDM_CodeDetail.ToList(); var treeList = new List(); foreach (var itemProv in CodeMain.Where(p => p.C_Status == "1")) { TbdmCodeViewModel provModel = new TbdmCodeViewModel() { C_Code = itemProv.C_Code, C_Name = itemProv.C_Name, I_Sort = itemProv.I_Sort, C_Remark = itemProv.C_Remark, C_Status = itemProv.C_Status }; provModel.Children = new List(); foreach (var itemCity in CodeDetail.Where(c => c.C_Status == "1" && c.C_MainCode == itemProv.C_Code)) { TbdmDetailCode cityModel = new TbdmDetailCode() { C_Code = itemCity.C_Code, C_MainCode = itemProv.C_Code, C_Name = itemCity.C_Name, I_Sort = itemCity.I_Sort, C_IsSys = itemCity.C_IsSys, C_Default = itemCity.C_Default, C_Remark = itemCity.C_Remark, C_Status = itemCity.C_Status }; provModel.Children.Add(cityModel); } treeList.Add(provModel); } return await Task.Run(() => treeList); } public Task DeleteByCodeAsync( string code) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("code", code) }; string sql = @"UPDATE TBDM_CodeMain SET C_Status= '0' WHERE (C_Code = @code); UPDATE TBDM_CodeDetail SET C_Status= '0' WHERE (C_MainCode = @code);"; int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters); if (iResult > 0) return Task.FromResult(true); else return Task.FromResult(false); } } }