using Ropin.Inspection.Model.Entities; using Ropin.Inspection.Model.ViewModel.SYS; using Ropin.Inspection.Repository.SYS.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ropin.Inspection.Repository.SYS { public class LicenseLargeScreenTemplateRepository : RepositoryBase, ILicenseLargeScreenTemplateRepository { public LicenseLargeScreenTemplateRepository(InspectionDbContext dbContext) : base(dbContext) { } public async Task CreateLicenseLargeScreenTemplateAsync(TSYS_LicenseLargeScreenTemplate entity) { await DbContext.Set().AddAsync(entity); } public Task DeleteByLicenseCodeAsync(string licenseCode) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("licenseCode", licenseCode) }; string sql = "DELETE FROM TSYS_LicenseLargeScreenTemplate where C_LicenseCode = @licenseCode"; int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters); var result = iResult > 0 ? true : false; return Task.FromResult(result); } public Task DeleteLicenseLargeScreenTemplateAsync(string licenseCode,string largeScreenTemplateCode) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("licenseCode", licenseCode), new MySqlConnector.MySqlParameter("largeScreenTemplateCode", largeScreenTemplateCode) }; string sql = "DELETE FROM TSYS_LicenseLargeScreenTemplate where C_LicenseCode = @licenseCode and C_LargeScreenTemplateCode=@largeScreenTemplateCode"; int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters); var result = iResult > 0 ? true : false; return Task.FromResult(result); } public Task> GetList(string licenseCode) { MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("licenseCode", licenseCode) }; string sql = @" select * from ( select g.*,l.C_Name as C_LicenseName,m.C_Name as C_LargeScreenTemplateName from TSYS_LicenseLargeScreenTemplate g LEFT JOIN TSYS_License l on (g.C_LicenseCode=l.C_Code) LEFT JOIN TLGS_LargeScreenTemplate m on (g.C_LargeScreenTemplateCode=m.C_ID) ) tab where C_LicenseCode=@licenseCode "; IEnumerable recordItemlist = EntityFrameworkCoreExtensions.GetList(DbContext.Database, sql.ToString(), parameters); if (recordItemlist.Count()==1&&recordItemlist.First()==null) { recordItemlist = null; } return Task.FromResult(recordItemlist); } } }