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)); }
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); }
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); }
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); }
public bool ValidateRequest(BCARequest bCARequest) { var result = false; if (IsValidAverage(bCARequest)) { result = true; } if (result && successor != null) { return(successor.ValidateRequest(bCARequest)); } return(result); }
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); }