using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using HNWD.Pregrant.Common; using HNWD.Pregrant.DataAccess; using HNWD.Pregrant.Model; namespace HNWD.LatticeScreen.Server { internal abstract class ProgramBase { protected WD_ProgramInfoDataAccess wd_ProgramInfoDataAccess = WD_ProgramInfoDataAccess.GetInstance(); protected LedLatticeScreen ledLatticeScreen; protected WD_ProgramInfo wd_ProgramInfo; protected uint AlignMode = 0; protected uint FormatMode = 0; public string CallId = string.Empty; public long addTime = DateTime.Now.Ticks; protected int responseByLedCommand = 0; public bool bSuccess = true; public string Msg = "操作成功"; public ProgramBase() { } protected bool ProgramIsNull { get { return this.wd_ProgramInfo == null ? true : false; } } public virtual void SetEntity(WD_ProgramInfo wd_ProgramInfo) { this.wd_ProgramInfo = wd_ProgramInfo; } public virtual WD_ProgramInfo GetEntity() { return this.wd_ProgramInfo; } /// /// 带刷屏显示 /// /// public abstract void PlayWithErase(); /// /// 不带刷屏显示 /// /// public abstract void PlayWithoutErase(); protected void GetTextAlignMode(string index) { List listAlign = new List(); listAlign.Add("水平左垂直上对齐"); listAlign.Add("水平左垂直中对齐"); listAlign.Add("水平左垂直下对齐"); listAlign.Add("水平中垂直上对齐"); listAlign.Add("水平中垂直中对齐"); listAlign.Add("水平中垂直下对齐"); listAlign.Add("水平右垂直上对齐"); listAlign.Add("水平右垂直中对齐"); listAlign.Add("水平右垂直下对齐"); string cn = listAlign[Convert.ToInt32(index)]; TextProgramAlign tpa = TextProgramAlignList.GetList().Find(f => f.AlignName_CN == cn); this.AlignMode = TextProgramAlignList.GetValue(tpa.AlignName_EN); } protected void GetBitmapAlignMode(string index) { List listAlign = new List(); listAlign.Add("水平左垂直上对齐"); listAlign.Add("水平左垂直中对齐"); listAlign.Add("水平左垂直下对齐"); listAlign.Add("水平中垂直上对齐"); listAlign.Add("水平中垂直中对齐"); listAlign.Add("水平中垂直下对齐"); listAlign.Add("水平右垂直上对齐"); listAlign.Add("水平右垂直中对齐"); listAlign.Add("水平右垂直下对齐"); string cn = listAlign[Convert.ToInt32(index)]; TextProgramAlign tpa = TextProgramAlignList.GetList().Find(f => f.AlignName_CN == cn); this.AlignMode = BitmapProgramAlignList.GetValue(tpa.AlignName_EN); } protected void GetClockFormatMode(string index) { List listAlign = new List(); listAlign.Add("yyyy年MM月dd日HH时mm分ss秒"); listAlign.Add("yyyy年MM月dd日"); listAlign.Add("HH时mm分ss秒"); string cn = listAlign[Convert.ToInt32(index)]; TextProgramAlign tpa = ClockProgramFormatList.GetList().Find(f => f.AlignName_CN == cn); this.FormatMode = ClockProgramFormatList.GetValue(tpa.AlignName_EN); } protected virtual void ResponseMessage() { if (responseByLedCommand == LedControl.JR_OK) { this.Msg = "发送DrawText指令成功"; this.bSuccess = true; } else { this.Msg = "发送DrawText指令失败, 错误代码:" + responseByLedCommand; this.bSuccess = false; } } protected virtual void ResponseMessage(bool bbitmap) { if (responseByLedCommand == LedControl.JR_OK) { this.Msg = "发送JHDrawMultPixel指令成功"; this.bSuccess = true; } else { this.Msg = "发送JHDrawMultPixel指令失败, 错误代码:" + responseByLedCommand; this.bSuccess = false; } } } }