public decimal?CalculatedPrice(CalculationEntities houseInfo, ref List <Estate> estates) { IDatabase db = new DatabaseProxy(); decimal? averageSqm = 0; estates = GetEstatesBasedOn_ZipCodeAndHousetype(houseInfo.ZipCode, houseInfo.TypeID, houseInfo.RemodelYear); int estatesINcalculation = 0; foreach (var item in estates) { if (db.GetPriceHistory(item.EstateId).Count != 0) { averageSqm += db.GetPriceHistory(item.EstateId).Last().Price / item.Areal; estatesINcalculation++; } } averageSqm /= estatesINcalculation; decimal?ListingPrice = averageSqm * houseInfo.SquareMeters; ListingPrice *= (1 + (houseInfo.Condition / 100)); if (houseInfo.BathAmount > 1) { ListingPrice += 75000; } return(Math.Round(Convert.ToDecimal(ListingPrice))); }
public decimal?CalculatedPrice(CalculationEntities houseInfo, ref List <Estate> estates) { return(calculator.CalculatedPrice(houseInfo, ref estates)); }