Beispiel #1
0
        public async Task <IActionResult> SaveLoanSetting([FromBody] LoanSettingEditDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            LoanSetting setting = DoGetLoanSetting();

            if (setting.MinDepositDay != dto.MinDepositDay)
            {
                setting.MinDepositDay = dto.MinDepositDay;
            }
            if (setting.MinDepositAmount != dto.MinDepositAmount)
            {
                setting.MinDepositAmount = dto.MinDepositAmount;
            }
            var deletedRates = setting.InterestRates.Where(p => !dto.InterestRates.Any(l => l.ID == p.ID));
            var addedRates   = dto.InterestRates.Where(p => !setting.InterestRates.Any(l => l.ID == p.ID));

            foreach (var r in deletedRates)
            {
                setting.InterestRates.Remove(r);
            }
            foreach (var r in addedRates)
            {
                setting.InterestRates.Add(InterestRate.Create(r.StartExecutionDate, r.Rate, User.Identity.Name));
            }
            await _context.SaveChangesAsync();

            return(this.AlpsActionOk(setting));
        }
Beispiel #2
0
        public IActionResult GetLoanSetting()
        {
            var setting = DoGetLoanSetting();
            var dto     = new LoanSettingEditDto
            {
                MinDepositAmount = setting.MinDepositAmount,
                MinDepositDay    = setting.MinDepositDay,
                InterestRates    = setting.InterestRates.Select(l => new InterestRateEditDto
                {
                    ID                 = l.ID,
                    Publisher          = l.Publisher,
                    Rate               = l.Rate,
                    StartExecutionDate = l.StartExecutionDate.ToLocalTime(),
                    PublishDate        = l.PublishDate
                }).ToList()
            };

            return(this.AlpsActionOk(dto));
        }