Exemplo n.º 1
0
        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);
Exemplo n.º 2
0
        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);
Exemplo n.º 3
0
        public ValueTask ExecuteAsync(IConsole console)
        {
            _console = console;

            if (AddHouse && AddApartment || !AddHouse && !AddApartment)
            {
                MakeDecision();
            }

            var realEstateManagement = new RealEstateManagementImpl(AppConfiguration.ReadFilePath(),
                                                                    AppConfiguration.ReadSerializationType());

            var realEstate = CreateRealEstate();

            realEstateManagement.Add(realEstate);

            IsRealEstateCorrect(realEstateManagement);

            return(default);