Beispiel #1
0
        static void Main(string[] args)
        {
            Immobile           estate1            = new House("Iasi", 199.000m);
            Lot                estate2            = new Lot(200, 10.000m);
            ImmobileAgent      immobileAgent      = new ImmobileAgent();
            LotAgent           lotAgent           = new LotAgent();
            HouseFeeCalculator houseFeeCalculator = new HouseFeeCalculator();
            LotFeeCalculator   lotFeeCalculator   = new LotFeeCalculator();

            EstateAgentServices.CommunicateType(immobileAgent, estate1);
            EstateAgentServices.CommunicateAddress(estate1);
            EstateAgentServices.CommunicatePrice(immobileAgent, estate1, houseFeeCalculator);
            EstateAgentServices.CommunicateAgentCommission(estate1, houseFeeCalculator);

            Console.WriteLine();

            EstateAgentServices.CommunicateType(lotAgent, estate2);
            EstateAgentServices.CommunicateCadastralNumber(estate2);
            EstateAgentServices.CommunicatePrice(lotAgent, estate2, lotFeeCalculator);
            EstateAgentServices.CommunicateAgentCommission(estate2, lotFeeCalculator);

            Console.ReadKey();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("**********************************************Real Estate Calculator**********************************************\n");
            //Console.WriteLine("");
            Console.Write("The price in euro for the real estate is: ");

            priceRealEstate = Convert.ToDecimal(Console.ReadLine());

            Console.Write("The zone is (central, periphery): ");
            answer = (Console.ReadLine()).ToLower();
            switch (answer)
            {
            case "central":
                zone = answer; break;

            case "periphery":
                zone = answer; break;

            default:
                Console.WriteLine("Invalid value!");
                break;
            }


            IDisplayMonitor dsp = new DisplayMonitor();

            Console.WriteLine("Choose for what type of real estate you need to calculate the commission (single room, apartment, house, parcel): ");
            realEstate = Console.ReadLine().ToLower();
            switch (realEstate)
            {
            case "single room":
                Console.Write("The address is: ");
                address = Console.ReadLine();

                FeeCalculator singleRoomCalculator = new SingleRoomFeeCalculator();
                IRealEstate   room = new SingleRoom(priceRealEstate, zone, address);
                dsp.Message(room, singleRoomCalculator);

                break;

            case "apartment":
                Console.Write("The address is: ");
                address = Console.ReadLine();

                var         apartmentCalculator = new ApartmentFeeCalculator();
                IRealEstate apartment           = new Apartment(priceRealEstate, zone, address);
                dsp.Message(apartment, apartmentCalculator);
                break;

            case "house":
                Console.Write("The address is: ");
                address = Console.ReadLine();

                IRealEstate house           = new House(priceRealEstate, zone, address);
                var         houseCalculator = new HouseFeeCalculator();
                dsp.Message(house, houseCalculator);
                break;

            case "parcel":
                Console.Write("The cadastral number is: ");
                address = Console.ReadLine();

                var         parcelCalculator = new ParcelFeeCalculator();
                IRealEstate parcel           = new Parcel(priceRealEstate, zone, address);
                dsp.Message(parcel, parcelCalculator);

                TestParcel();
                break;

            default:
                Console.WriteLine("You must to choose one of the single room, apartment, hose or parcel!");
                break;
            }
        }