using System; using Dapper; using HNWD.Pregrant.Model; using System.Collections.Generic; using System.Text; namespace HNWD.Pregrant.DataAccess { public class WD_ProgramInfoDataAccess : GenericDataAccess { private WD_ProgramInfo wd_ProgramInfo = null; public WD_ProgramInfoExt ext = new WD_ProgramInfoExt(); private WD_ProgramInfoDataAccess(WD_ProgramInfo wd_ProgramInfo) { this.wd_ProgramInfo = wd_ProgramInfo; } private readonly static WD_ProgramInfoDataAccess wd_ProgramInfoDataAccess = new WD_ProgramInfoDataAccess(null); private readonly static object lockobj = new object(); public static WD_ProgramInfoDataAccess GetInstance() { lock (lockobj) { return wd_ProgramInfoDataAccess; } } public List QueryAll() { string strSql = " select {0} from [WD_ProgramInfo] "; ext.messageDataList = this.Query(strSql, new WD_ProgramInfo()); ext.messageDataList.ForEach(f => f.bSuccess = this.bSuccess); ext.messageDataList.ForEach(f => f.Code = this.Code); ext.messageDataList.ForEach(f => f.Message = this.Message); ext.messageDataList.ForEach(f => f.Rows = this.Rows); ext.bSuccess = this.bSuccess; ext.Code = this.Code; ext.Message = this.Message; ext.Rows = this.Rows; return ext.messageDataList; } public void Business(List il, List ul, List dl) { StringBuilder strSql_i = new StringBuilder( " INSERT INTO WD_ProgramInfo( " ); strSql_i.Append( " PROGRAM_NAME ,PROGRAM_TYPE , PROGRAM_X , PROGRAM_Y , PROGRAM_WIDTH ," ); strSql_i.Append( " PROGRAM_HEIGHT ,PROGRAM_TEXT , PROGRAM_IMAGE , PROGRAM_MATRIX , PROGRAM_FORMAT , " ); strSql_i.Append(" PROGRAM_ALIGN ,PROGRAM_STAYINGTIME ,PROGRAM_DEVICE_ID , PROGRAM_DATETIME "); strSql_i.Append( " ) values (" ); strSql_i.Append( " '{0}' ,'{1}' , '{2}' , '{3}' , '{4}' , " ); strSql_i.Append( " '{5}' ,'{6}' , '{7}' , '{8}' , '{9}' , " ); strSql_i.Append( " '{10}' ,'{11}' , '{12}' , '{13}' " ); strSql_i.Append( " ) " ); StringBuilder strSql_u = new StringBuilder(" UPDATE WD_ProgramInfo SET "); strSql_u.Append(" PROGRAM_NAME = '{0}' ,PROGRAM_TYPE = '{1}' , PROGRAM_X = '{2}', PROGRAM_Y = '{3}', PROGRAM_WIDTH= '{4}' ,"); strSql_u.Append(" PROGRAM_HEIGHT = '{5}',PROGRAM_TEXT= '{6}' , PROGRAM_IMAGE= '{7}' , PROGRAM_MATRIX= '{8}' , PROGRAM_FORMAT= '{9}' , "); strSql_u.Append(" PROGRAM_ALIGN = '{10}' ,PROGRAM_STAYINGTIME= '{11}' ,PROGRAM_DEVICE_ID= '{12}' , PROGRAM_DATETIME = '{13}'"); strSql_u.Append(" WHERE ID = '{14}' "); StringBuilder strSql_d = new StringBuilder(" delete WD_ProgramInfo where ID = '{0}' "); StringBuilder sb_i = new StringBuilder(); foreach (WD_ProgramInfo wd in il) { sb_i.AppendFormat(strSql_i.ToString(), wd.PROGRAM_NAME , wd.PROGRAM_TYPE, wd.PROGRAM_X, wd.PROGRAM_Y, wd.PROGRAM_WIDTH, wd.PROGRAM_HEIGHT, wd.PROGRAM_TEXT, wd.PROGRAM_IMAGE, wd.PROGRAM_MATRIX , wd.PROGRAM_FORMAT , wd.PROGRAM_ALIGN , wd.PROGRAM_STAYINGTIME, wd.PROGRAM_DEVICE_ID, wd.PROGRAM_DATETIME); } StringBuilder sb_u = new StringBuilder(); foreach (WD_ProgramInfo wd in ul) { sb_u.AppendFormat(strSql_u.ToString(), wd.PROGRAM_NAME, wd.PROGRAM_TYPE, wd.PROGRAM_X, wd.PROGRAM_Y, wd.PROGRAM_WIDTH, wd.PROGRAM_HEIGHT, wd.PROGRAM_TEXT, wd.PROGRAM_IMAGE, wd.PROGRAM_MATRIX, wd.PROGRAM_FORMAT, wd.PROGRAM_ALIGN , wd.PROGRAM_STAYINGTIME, wd.PROGRAM_DEVICE_ID, wd.PROGRAM_DATETIME , wd.ID); } StringBuilder sb_d = new StringBuilder(); foreach (WD_ProgramInfo wd in dl) { sb_d.AppendFormat(strSql_d.ToString(), wd.ID); } StringBuilder sb_append = new StringBuilder(); sb_append.Append(" update WD_RunProfile set LEDDeviceFlag = 1 "); this.Execute(sb_i.ToString(), sb_u.ToString(), sb_d.ToString() , sb_append.ToString()); } } }