using Ropin.Inspection.Model.Entities; using Ropin.Inspection.Model.SearchModel; using Ropin.Inspection.Model.SearchModel.MTN; using Ropin.Inspection.Model.ViewModel; using Ropin.Inspection.Model.ViewModel.MTN; using Ropin.Inspection.Repository.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ropin.Inspection.Repository { public class TispContentGroupRepository : RepositoryBase, ITispContentGroupRepository { public TispContentGroupRepository(InspectionDbContext dbContext) : base(dbContext) { } public Task> GetList(TispContentGroupsSearchModel searchModel) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("devCode", searchModel.C_DevStoreCode), new MySqlConnector.MySqlParameter("storeCode", searchModel.C_StoreCode), new MySqlConnector.MySqlParameter("types", searchModel.I_Type), new MySqlConnector.MySqlParameter("Status", searchModel.C_Status), new MySqlConnector.MySqlParameter("name", "%"+searchModel.C_Name+"%") }; StringBuilder sql = new StringBuilder(); sql.Append(@" select * from ( select C.*,D.C_Name as C_DevName,D.C_DevQRUrl from TISP_ContentGroup C LEFT JOIN TDEV_DevStore D on (C.C_DevStoreCode=D.C_ID) )tab WHERE 1=1 "); if (!string.IsNullOrEmpty(searchModel.C_Status)) { if (searchModel.C_Status.Contains(",")) { sql.Append($" AND C_Status in ('{searchModel.C_Status.Replace(",", "','")}') "); } else { sql.Append(" AND C_Status=@Status "); } } if (!string.IsNullOrEmpty(searchModel.C_StoreCode)) { sql.Append(" and C_StoreCode=@storeCode "); } if (!string.IsNullOrEmpty(searchModel.C_DevStoreCode)) { sql.Append(" and C_DevStoreCode=@devCode "); } if (searchModel.I_Type!=null&& searchModel.I_Type!=0) { sql.Append(" and I_Type=@types "); } sql.Append(" order by I_Sort asc "); IEnumerable recordItemlist = EntityFrameworkCoreExtensions.GetList(DbContext.Database, sql.ToString(), parameters); if (recordItemlist.First()==null) { recordItemlist = new List(); } return Task.FromResult(recordItemlist); //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); } } }