using Ropin.Inspection.Model.Entities; using Ropin.Inspection.Model.SearchModel.DEV; using Ropin.Inspection.Model.ViewModel.DEV; using Ropin.Inspection.Repository.DEV.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ropin.Inspection.Repository.DEV { public class DevBoxRepository : RepositoryBase, IDevBoxRepository { public DevBoxRepository(InspectionDbContext DbContext) : base(DbContext) { } public Task DeleteBYDevStoreCode(string devStoreCode) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("devStoreCode", devStoreCode) }; string sql = "DELETE FROM TDEV_DevBox where C_DevStoreCode=@devStoreCode "; int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters); return Task.FromResult(true); } public Task> GetConditionAsync(DevBoxSearchModel searchModel) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("DevStoreCode", searchModel.C_DevStoreCode), new MySqlConnector.MySqlParameter("BoxCode", searchModel.C_BoxCode), new MySqlConnector.MySqlParameter("Id ", searchModel.C_ID) }; StringBuilder sql = new StringBuilder(); sql.Append(@"select * from ( select b.*,d.C_Name as C_BoxName,s.C_Name as C_DevStoreName from TDEV_DevBox b LEFT JOIN TDEV_Box d on (b.C_BoxCode=d.C_ID) LEFT JOIN TDEV_DevStore s on (b.C_DevStoreCode=s.C_ID) ) tab where 1=1"); if (!string.IsNullOrEmpty(searchModel.C_DevStoreCode)) { sql.Append(" and C_DevStoreCode=@DevStoreCode "); } if (!string.IsNullOrEmpty(searchModel.C_BoxCode)) { sql.Append(" and C_BoxCode=@BoxCode "); } 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 (recordItemlist.Count() == 1 && recordItemlist.First() == null) { recordItemlist = null; } //return Task.FromResult(searchModel.IsPagination ? recordItemlist.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize) : recordItemlist); return Task.FromResult(recordItemlist); } } }