Example #1
0
        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();
        }
Example #3
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();
            }
        }