public void BulkTagToProperties() { var allProperties = dbContext.Properties .ToList(); foreach (var property in allProperties) { var averagePriceForAnDistrict = this.propertiesService .AveragePricePerSquareMeter(property.DistrictId); if (property.Price >= averagePriceForAnDistrict) { var currTag = GetTag("скъп-имот"); property.Tags.Add(currTag); } else if (property.Price < averagePriceForAnDistrict) { var currTag = GetTag("евтин-имот"); property.Tags.Add(currTag); } var currDate = DateTime.Now.AddYears(YEAR_PROPERTY); if (property.Year.HasValue && property.Year <= currDate.Year) { var currTag = GetTag("стар-имот"); property.Tags.Add(currTag); } else if (property.Year.HasValue && property.Year > currDate.Year) { var currTag = GetTag("нов-имот"); property.Tags.Add(currTag); } var avegrageSize = propertiesService.AverageSize(property.DistrictId); //голям - имот //малък - имот if (property.Size > avegrageSize) { var currTag = GetTag("голям-имот"); property.Tags.Add(currTag); } else if (property.Size <= avegrageSize) { var currTag = GetTag("малък-имот"); property.Tags.Add(currTag); } dbContext.SaveChanges(); } }
public void BulkAddTagsToProperty() { var properties = context.Properties.ToList(); foreach (var property in properties) { var averagePriceForDistrict = propertiesService.AveragePricePerSquareMeter(property.DistrictId); if (property.Price.HasValue && property.Price >= averagePriceForDistrict) { var tag = GetTag("скъп-имот"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } else { var tag = GetTag("евтин-имот"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } var date = DateTime.Now.AddYears(-15); if (property.Year.HasValue && property.Year >= date.Year) { var tag = GetTag("нов-имот"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } else { var tag = GetTag("стар-имот"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } var averageSize = propertiesService.AverageSize(property.DistrictId); if (property.Size >= averageSize) { var tag = GetTag("голям-имот"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } else { var tag = GetTag("малък-имот"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } if (property.Floor.HasValue && property.Floor == 1) { var tag = GetTag("първи-етаж"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } else if (property.Floor.HasValue && property.TotalFloors.HasValue && property.Floor.Value == property.TotalFloors.Value) { var tag = GetTag("последен-етаж"); property.PropertyTags.Add(new PropertyTag { Tag = tag }); } } context.SaveChanges(); }
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(); } }