public ValueTask ExecuteAsync(IConsole console) { // Create new instance of RealEstateManagementImpl if filePath is specified in app.config. var realEstateManagement = new RealEstateManagementImpl(AppConfiguration.ReadFilePath(), AppConfiguration.ReadSerializationType()); var realEstates = realEstateManagement.GetAll(); // Check if the output should be sorted ascending or descending. if (SortBySize != null && SortBySize.Equals("ascending")) { realEstates = realEstates.OrderBy(realEstate => realEstate.Size); } else if (SortBySize != null && SortBySize.Equals("descending")) { realEstates = realEstates.OrderByDescending(realEstate => realEstate.Size); } // Check if only houses or apartments should be shown. if (ShowApartmentsOnly) { realEstates = realEstates.OfType <Apartment>().ToList(); foreach (var apartment in realEstates) { console.Output.WriteLine(apartment.ToString()); } } else if (ShowHousesOnly) { realEstates = realEstates.OfType <House>().ToList(); foreach (var house in realEstates) { console.Output.WriteLine(house.ToString()); } } else { var counter = 1; foreach (var realEstate in realEstates) { console.Output.WriteLine(counter + ".\n" + realEstate); counter++; } } return(default);
public ValueTask ExecuteAsync(IConsole console) { _console = console; var realEstateManagement = new RealEstateManagementImpl(AppConfiguration.ReadFilePath(), AppConfiguration.ReadSerializationType()); if (Confirmation(realEstateManagement.GetAll().ToList())) { realEstateManagement.Update(Index - 1, UpdateRealEstate(realEstateManagement.Get(Index - 1))); _console.Output.WriteLine("Item updated."); realEstateManagement.Save(); } else { _console.Output.WriteLine("Cancelled!"); } return(default);