/// <summary>
        /// 年利率变更迁移
        /// </summary>
        public void TransferAnnualRate()
        {
            // step 1 年利率重新计算
            var baseAuditCases = _baseAuditDal.GetAllBase().Where(p => p.AuditRate != null || p.AnnualRate != null);

            baseAuditCases.ForEach(p =>
            {
                if (p.AuditRate != null && p.AuditRate < 2M)
                {
                    p.AuditRate = p.AuditRate * 12;
                }
                if (p.AnnualRate != null && p.AnnualRate < 2M)
                {
                    p.AnnualRate = p.AnnualRate * 12;
                }
            });
            _baseAuditDal.UpdateRange(baseAuditCases);
            _baseAuditDal.AcceptAllChange();
        }
        private void UpdateAuditCaseNum(BaseAuditDAL baseAuditDal, SalesGroupDAL salesGroupDal)
        {
            string[] caseNum = baseAuditDal.GetAll().Where(p => p.CaseNum != null).Select(p => p.CaseNum).Distinct().ToArray();
            caseNum.ForEach(p =>
            {
                var sameCaseNumCases = baseAuditDal.GetAllBase().Where(c => c.CaseNum == p).ToList();
                var salesGroupId     = sameCaseNumCases.First().SalesGroupID;

                var salesGroup = salesGroupDal.GetAll().First(t => t.ID == salesGroupId);
                sameCaseNumCases.ForEach(t =>
                {
                    t.CaseNum    = (Convert.ToInt32(t.CaseNum.Substring(4)) + 100000).ToString();
                    t.NewCaseNum = "L" + salesGroup.ShortCode + "-" + t.CaseNum;
                });

                baseAuditDal.UpdateRange(sameCaseNumCases);
                baseAuditDal.AcceptAllChange();
            });
        }