private void DoHoldFreezeCheck() { var holdMemoryTables = MemoryDataManager.XHHoldMemoryList.GetAll(); foreach (var holdMemoryTable in holdMemoryTables) { var hold = holdMemoryTable.Data; try { int accountHoldId = hold.AccountHoldLogoId; XH_AcccountHoldFreezeTableDal freezeTableDal = new XH_AcccountHoldFreezeTableDal(); int sum = freezeTableDal.GetAllFreezeAmount(accountHoldId); holdMemoryTable.ReadAndWrite(h => { if (h.FreezeAmount != sum) { string format = "XHReckonUnitManager.DoHoldFreezeCheck[AccountHoldLogoId={0},FreezeAmount={1},TrueSum={2}]"; string desc = string.Format(format, accountHoldId, h.FreezeAmount, sum); LogHelper.WriteDebug(desc); h.FreezeAmount = sum; } return(h); }); } catch (Exception ex) { LogHelper.WriteError(ex.Message, ex); } } }