Example #1
0
        public async Task <IActionResult> Edit(int id, [Bind("DaysAmount,MonthsAmount,YearsAmount,Id")] DepositTerm depositTerm)
        {
            if (id != depositTerm.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(depositTerm);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DepositTermExists(depositTerm.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(depositTerm));
        }
Example #2
0
        public async Task <IActionResult> Create([Bind("DaysAmount,MonthsAmount,YearsAmount,Id")] DepositTerm depositTerm)
        {
            if (ModelState.IsValid)
            {
                _context.Add(depositTerm);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(depositTerm));
        }
        private void SetInterestValueByDepositTerm(DepositTerm depositTerm, IQueryable <Deposit> deposits)
        {
            if (depositTerm == DepositTerm.OneMonth)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForOneMonth;
                    deposit.DepositTerm = DepositTerm.OneMonth;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.ThreeMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForThreeMonths;
                    deposit.DepositTerm = DepositTerm.ThreeMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.SixMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForSixMonths;
                    deposit.DepositTerm = DepositTerm.SixMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.NineMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForNineMonths;
                    deposit.DepositTerm = DepositTerm.NineMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.TwelveMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForTwelveMonths;
                    deposit.DepositTerm = DepositTerm.TwelveMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.EighteenMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForEighteenMonths;
                    deposit.DepositTerm = DepositTerm.EighteenMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.TwentyFourMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForTwentyFourMonths;
                    deposit.DepositTerm = DepositTerm.TwentyFourMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.ThirtySixMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForThirtySixMonths;
                    deposit.DepositTerm = DepositTerm.ThirtySixMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.FortyEightMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForFortyEightMonths;
                    deposit.DepositTerm = DepositTerm.FortyEightMonths;
                }

                this.dbContext.SaveChanges();
            }
            if (depositTerm == DepositTerm.SixtyMonths)
            {
                foreach (var deposit in deposits)
                {
                    deposit.Interest    = deposit.InterestForSixtyMonths;
                    deposit.DepositTerm = DepositTerm.SixtyMonths;
                }

                this.dbContext.SaveChanges();
            }
        }
        public IQueryable <TModel> Compared <TModel>(decimal amount, Currency currency, DepositTerm depositTerm,
                                                     InterestPayment interestPayment, DepositFor depositFor, InterestType interestType,
                                                     IncreasingAmount increasingAmount, OverdraftOpportunity overdraftOpportunity,
                                                     CreditOpportunity creditOpportunity)
        {
            var deposits = this.dbContext.Deposits.Where(d => d.Currency == currency);

            this.SetAmountForDeposits(amount, deposits);
            this.SetInterestValueByDepositTerm(depositTerm, deposits);

            deposits = deposits.Where(d => d.MinimumAmount <= amount && d.MaximumAmount >= amount);

            deposits = this.FilterDepositsByDepositProperties(interestPayment, depositFor, interestType, increasingAmount, overdraftOpportunity, creditOpportunity, deposits);

            var compared = deposits.AsQueryable().ProjectTo <TModel>();

            return(compared);
        }