예제 #1
0
        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);
                }
            }
        }