using Ropin.Inspection.Model; using Ropin.Inspection.Model.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ropin.Inspection.Repository { public class TdevDevStoreMigrateRepository : RepositoryBase, ITdevDevStoreMigrateRepository { public TdevDevStoreMigrateRepository(InspectionDbContext DbContext) : base(DbContext) { } public Task> GetDevStoreMigrateList(TdevDevStoreMigrateSearchModel searchModel) { StringBuilder sql = new StringBuilder(); MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("DevStoreCode", searchModel.C_DevStoreCode), new MySqlConnector.MySqlParameter("Id", searchModel.C_ID), new MySqlConnector.MySqlParameter("Name", searchModel.C_Name), new MySqlConnector.MySqlParameter("CurrentStoreCode",searchModel.C_CurrentStoreCode), new MySqlConnector.MySqlParameter("LastStoreCode",searchModel.C_LastStoreCode), }; sql.Append(@" select A.*,B.C_NumberCode,C.C_Name as C_LastStoreName,D.C_Name as C_CurrentStoreName,U.C_Name as C_UserName from TDEV_DevStoreMigrate A LEFT JOIN TDEV_DevStore B on A.C_DevStoreCode=B.C_ID LEFT JOIN TPNT_Store C on A.C_LastStoreCode=C.C_Code LEFT JOIN TPNT_Store D on A.C_CurrentStoreCode=D.C_Code LEFT JOIN TSYS_User U on A.C_CreateBy=U.C_UserID WHERE A.C_DevStoreCode=@DevStoreCode "); if (!string.IsNullOrEmpty(searchModel.C_ID)) { sql.Append(" AND A.C_ID=@Id "); } if (!string.IsNullOrEmpty(searchModel.C_Name)) { sql.Append(" AND A.C_Name=@Name "); } if (!string.IsNullOrEmpty(searchModel.C_CurrentStoreCode)) { sql.Append(" AND A.C_CurrentStoreCode=@CurrentStoreCode "); } if (!string.IsNullOrEmpty(searchModel.C_LastStoreCode)) { sql.Append(" AND A.C_LastStoreCode=@LastStoreCode "); } sql.Append(" order by A.D_CreateOn desc "); IEnumerable model = EntityFrameworkCoreExtensions.SqlQuery(DbContext.Database, sql.ToString(), parameters).ToList(); return Task.FromResult(model); } } }