public TransactionsDetail CalculTransactionsDetail(List <Transaction> transactionsList) { decimal totalAmount = GetTotalAmount(transactionsList); TransactionsDetail detail = new TransactionsDetail() { TotalAmount = totalAmount, NbTransactions = transactionsList.Count, AverageAmount = (transactionsList.Count != 0) ? totalAmount / transactionsList.Count : 0 }; return(detail); }
public bool IsCorrectVariationPlace(Place place, TransactionsDetail detail, int variationPourcentage) { if (place.AverageAmount == null && detail.AverageAmount > 0) { return(true); } if (place.AverageAmount == null && detail.AverageAmount == 0) { return(false); } return(IsCorrectVariation((decimal)place.AverageAmount, detail.AverageAmount, variationPourcentage)); }
public bool IsCorrectVariationCategory(Category category, TransactionsDetail detail, int variationPourcentage) { if (category.AverageAmount == null && detail.AverageAmount > 0) { return(true); } if (category.AverageAmount == null && detail.AverageAmount == 0) { return(false); } return(IsCorrectVariation(category.AverageAmount, detail.AverageAmount, variationPourcentage)); }
public List <Place> GetPlacesByAverageVariationPourcentage(int variationPourcentage) { List <Place> correctPlaces = new List <Place>(); List <Transaction> transactions = null; TransactionsDetail detail = null; List <Place> places = _placeDBAccess.FindAll(); foreach (Place place in places) { transactions = _transactionDBAccess.FindByPlace(place.PlaceId); detail = _businessService.CalculTransactionsDetail(transactions); bool isCorrectVariation = _businessService.IsCorrectVariationPlace(place, detail, variationPourcentage); if (isCorrectVariation) { correctPlaces.Add(place); } } return(correctPlaces); }