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 TdevDevSpotRepository : RepositoryBase, ITdevDevSpotRepository { public TdevDevSpotRepository(InspectionDbContext DbContext) : base(DbContext) { } public Task DeleteByDevIdAsync(string devId) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("devId", devId) }; int result = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, "DELETE from TDEV_DevSpot WHERE C_DevStoreCode = @devId", parameters); return Task.FromResult(result); } public Task> GetList(TdevDevSpotSearchModel searchModel) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("devStoreCode", searchModel.C_DevStoreCode), new MySqlConnector.MySqlParameter("spotCode", searchModel.C_SpotCode), new MySqlConnector.MySqlParameter("Id", searchModel.C_ID) }; StringBuilder sql = new StringBuilder(); sql.Append(@" SELECT * FROM ( SELECT ds.*,s.C_Name as C_SpotName FROM TDEV_DevSpot ds LEFT JOIN TISP_Spot s ON (ds.C_SpotCode=s.C_Code) ) tab WHERE 1=1 "); if (!string.IsNullOrEmpty(searchModel.C_DevStoreCode)) { sql.Append(" AND C_DevStoreCode=@devStoreCode "); } if (!string.IsNullOrEmpty(searchModel.C_SpotCode)) { sql.Append(" AND C_SpotCode=@spotCode "); } if (!string.IsNullOrEmpty(searchModel.C_ID)) { sql.Append(" AND C_ID=@Id "); } sql.Append(" order by D_CreateOn desc "); IEnumerable recordItemlist = EntityFrameworkCoreExtensions.GetList(DbContext.Database, sql.ToString(), parameters); searchModel.TotalCount = recordItemlist.First() != null ? recordItemlist.ToList().Count : 0; if (searchModel.TotalCount == 0) { recordItemlist = new List(); } return Task.FromResult(searchModel.IsPagination ? recordItemlist.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist); } } }