static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; var db = new RealEstateDBContext(); db.Database.Migrate(); IPropertiesService propertiesService = new PropertiesService(db); }
private static void MostExpensiveDistricts(RealEstateDBContext db) { Console.Write("Districts count:"); int count = int.Parse(Console.ReadLine()); IDistrictsService districtsService = new DistrictsService(db); var districts = districtsService.GetMostExpenciveDistricts(count); foreach (var district in districts) { Console.WriteLine($"{district.Name} => {district.AveragePricePerSquareKilometer:0.00}€/m² ({district.PropertiesCount})"); } }
static void Main(string[] args) { var db = new RealEstateDBContext(); var newServise = new PropertiesService(db); var json = File.ReadAllText("imot.bg-raw-data-2020-07-23.json"); var data = JsonSerializer.Deserialize <JsonProperty[]>(json); foreach (var item in data) { newServise.Create(item.District, item.Size, item.Year, item.Price, item.Type, item.BuildingType, item.Floor, item.TotalFloors); } }
public static void ImportJsonFile(string fileName) { var dbContext = new RealEstateDBContext(); IPropertiesService propertiesService = new PropertiesService(dbContext); var properties = JsonSerializer.Deserialize <IEnumerable <PropertyAsJson> >( File.ReadAllText(fileName)); foreach (var jsonProp in properties) { propertiesService.Add(jsonProp.District, jsonProp.Price, jsonProp.Floor, jsonProp.TotalFloors, jsonProp.Size, jsonProp.YardSize, jsonProp.Year, jsonProp.Type, jsonProp.BuildingType); Console.Write("."); } }
static void Main(string[] args) { var db = new RealEstateDBContext(); Console.OutputEncoding = Encoding.Unicode; db.Database.Migrate(); while (true) { Console.Clear(); Console.WriteLine("Choose an option:"); Console.WriteLine("1. Property search"); Console.WriteLine("2. Most expensive districts"); Console.WriteLine("3. Average price per square meter"); Console.WriteLine("0. EXIT"); bool parsed = int.TryParse(Console.ReadLine(), out int option); if (parsed && option == 0) { break; } if (parsed && option >= 1 && option <= 3) { switch (option) { case 1: PropertySearch(db); break; case 2: MostExpensiveDistricts(db); break; case 3: AveragePricePerSquareMeter(db); break; } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } } }
private static void PropertySearch(RealEstateDBContext db) { Console.Write("Min price:"); int minPrice = int.Parse(Console.ReadLine()); Console.Write("Max price:"); int maxPrice = int.Parse(Console.ReadLine()); Console.Write("Min size:"); int minSize = int.Parse(Console.ReadLine()); Console.Write("Max size:"); int maxSize = int.Parse(Console.ReadLine()); IPropertiesService service = new PropertiesService(db); var properties = service.Search(minPrice, maxPrice, minSize, maxSize); foreach (var property in properties) { Console.WriteLine($"{property.Name} => {property.Price}€ => {property.Size}m²"); } }
private static void AveragePricePerSquareMeter(RealEstateDBContext dbContext) { IPropertiesService propertiesService = new PropertiesService(dbContext); Console.WriteLine($"Average price per square meter: {propertiesService.AveragePricePerSquareMeter():0.00}€/m²"); }
public PropertiesService(RealEstateDBContext db) { this.db = db; }
public DistrictService(RealEstateDBContext db) { this.db = db; }
public PropertiesService(RealEstateDBContext context) { }
public DistrictsService(RealEstateDBContext dbContext) { this.dbContext = dbContext; }
public PropertiesService(RealEstateDBContext contextInput) { dbContext = contextInput; }