Пример #1
0
 /// <summary>
 /// 檢核資料
 /// </summary>
 /// <param name="data">檢核資料</param>
 /// <param name="_event">執行方法</param>
 public CheckDataAbstract(IEnumerable <T> data, Check_Table_Type _event, DateTime?reportDate = null, int?version = null)
 {
     this._data         = data;
     this._event        = _event;
     this._resources    = new Dictionary <Check_Table_Type, Func <List <messageTable> > >();
     _customerStr_Start = string.Empty;
     _customerStr_End   = string.Empty;
     Set();
     try
     {
         StringBuilder sb = new StringBuilder();
         if (reportDate.HasValue && version.HasValue)
         {
             sb.AppendLine($@"報導日:{reportDate.Value.ToString("yyyy/MM/dd")}  版本:{version}");
         }
         sb.AppendLine(getCheckMessage(GetMethod(_event).Invoke()));
         this.Message = sb.ToString();
         Tuple <Check_Table_Type, string> cacheData =
             new Tuple <Check_Table_Type, string>(_event, Message);
         ErrorFlag = _checkFlag;
         var Cache = new Repository.DefaultCacheProvider();
         Cache.Invalidate($@"{CacheList.CheckData}{_event.ToString()}");
         Cache.Set($@"{CacheList.CheckData}{_event.ToString()}", cacheData);
     }
     catch (Exception ex)
     {
         this.Message = ex.exceptionMessage();
     }
 }
Пример #2
0
 /// <summary>
 /// 找尋要執行的程式
 /// </summary>
 /// <param name="_event"></param>
 /// <returns></returns>
 private Func <List <messageTable> > GetMethod(Check_Table_Type _event)
 {
     if (_resources.ContainsKey(_event))
     {
         return(_resources[_event]);
     }
     else
     {
         throw new ArgumentNullException();
     }
 }