public void MapTagsToProperties() { var properties = db.Properties.ToList(); foreach (var property in properties) { var averagePricePerSquareMeterOfDistrict = propertiesService .AveragePricePerSquareMeterForDistrict(property.DistrictId); ; if (property.Price.HasValue && property.Price.Value > averagePricePerSquareMeterOfDistrict) { var expensiveTag = GetTag("скъп-имот"); property.Tags.Add(expensiveTag); } else { var cheapTag = GetTag("евтин-имот"); property.Tags.Add(cheapTag); } var year = DateTime.Now.AddYears(-15).Year; if (property.Year > year) { var newBuildingTag = GetTag("нов-имот"); property.Tags.Add(newBuildingTag); } else { var oldBuildingTag = GetTag("стар-имот"); property.Tags.Add(oldBuildingTag); } var averageSizeForDistrict = propertiesService .AverageSize(property.DistrictId); if (property.Size > averageSizeForDistrict) { Tag bigBuildingTag = GetTag("голям-имот"); property.Tags.Add(bigBuildingTag); } else { var smallBuildingTag = GetTag("малък имот"); property.Tags.Add(smallBuildingTag); } if (property.Floor.HasValue && property.TotalFloors.HasValue && property.Floor.Value == property.TotalFloors.Value) { var lastFloorTag = GetTag("последен етаж"); property.Tags.Add(lastFloorTag); } else if (property.Floor.HasValue && property.Floor.Value == 1) { var lastFloorTag = GetTag("първи етаж"); property.Tags.Add(lastFloorTag); } db.SaveChanges(); } }