Ejemplo n.º 1
0
        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();
            }
        }