コード例 #1
0
        private bool IsValidAverage(BCARequest bCARequest)
        {
            var transactions = bCARequest.transactions
                               .GroupBy(item => new { Year = item.Date.Year, Month = item.Date.Month })
                               .Select(x => new { Year = x.Key.Year, Month = x.Key.Month, Avvg = x.Average(a => a.Value) });

            return(!transactions.Any(x => x.Avvg < bCARequest.AmountRequested));
        }
コード例 #2
0
        public bool ValidateRequest(BCARequest bCARequest)
        {
            var result = false;

            if (bCARequest.TimeInBusiness?.Years >= 1 || bCARequest.TimeInBusiness?.Months >= 12)
            {
                result = true;
            }
            if (result && successor != null)
            {
                return(successor.ValidateRequest(bCARequest));
            }
            return(result);
        }
コード例 #3
0
        public bool ValidateRequest(BCARequest bCARequest)
        {
            var result = false;

            if (bCARequest.AmountRequested >= 5000 && bCARequest.AmountRequested < 50000)
            {
                result = true;
            }
            if (result && successor != null)
            {
                return(successor.ValidateRequest(bCARequest));
            }
            return(result);
        }
コード例 #4
0
        public bool ValidateRequest(BCARequest bCARequest)
        {
            var result = false;

            if (IsValidAmount(bCARequest, DateTime.UtcNow))
            {
                result = true;
            }
            if (result && successor != null)
            {
                return(successor.ValidateRequest(bCARequest));
            }
            return(result);
        }
コード例 #5
0
        public bool ValidateRequest(BCARequest bCARequest)
        {
            var result = false;

            if (IsValidAverage(bCARequest))
            {
                result = true;
            }
            if (result && successor != null)
            {
                return(successor.ValidateRequest(bCARequest));
            }
            return(result);
        }
コード例 #6
0
        private bool IsValidAmount(BCARequest bCARequest, DateTime today)
        {
            var result      = false;
            var startperiod = today.AddMonths(-11);

            if (bCARequest.AmountRequested < 25000)
            {
                result = true;
            }
            else
            {
                var transactions = bCARequest.transactions.OrderByDescending(x => x.Date)
                                   .GroupBy(item => new { Year = item.Date.Year, Month = item.Date.Month })
                                   .Select(x => new { Year = x.Key.Year, Month = x.Key.Month, Avvg = x.Average(a => a.Value) });

                if (transactions.Count() > 11 &&
                    transactions.Skip(11).Take(1).Select(x => new { Year = x.Year }).FirstOrDefault().Year == startperiod.Year &&
                    transactions.Skip(11).Take(1).Select(x => new { Month = x.Month }).FirstOrDefault().Month == startperiod.Month)
                {
                    result = true;
                }
            }
            return(result);
        }