Exemplo n.º 1
0
 public Store(Manufacturer manufacturer)
 {
     this.PersonalComputer = manufacturer.CreatePersonalComputer();
     this.Server = manufacturer.CreateServer();
     this.Laptop = manufacturer.CreateLaptop();
 }
Exemplo n.º 2
0
        public static void main()
        {
            // Sorry, guys ... i'v almost made the whole infrastructure of the project, but didn't have enough time to completely implement the actual application.
            // I know that this is the easy part when you have reasonable infrastructure, but the time was not nearly enough for this.
            // The Project do not compile because i didn't have time to implement the new infrastructure, but i think that it is close enough
            // May be 30-40 more minutes will be enough to complete it.

            Manufacturer Dell   = new Manufacturer();
            Manufacturer HP     = new Manufacturer();
            Manufacturer Lenovo = new Manufacturer();

            Computer userPC;
            Computer userServer;
            Computer userLaptop;

            int cpuType;
            int coreCount;
            int ramSize;
            int hardsCount;
            int hardsCapacity;

            var manufacturer = Console.ReadLine();

            switch (manufacturer)
            {
            case "HP":
                cpuType       = 32;
                coreCount     = 2;
                ramSize       = 2;
                hardsCount    = 1;
                hardsCapacity = 500;
                userPC        = HP.CreatePC(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);

                cpuType       = 32;
                coreCount     = 4;
                ramSize       = 32;
                hardsCount    = 2;
                hardsCapacity = 1000;
                userServer    = HP.CreateServer(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);

                cpuType       = 64;
                coreCount     = 2;
                ramSize       = 4;
                hardsCount    = 1;
                hardsCapacity = 500;
                userLaptop    = HP.CreateLaptop(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);
                break;

            case "Dell":
                cpuType       = 64;
                coreCount     = 4;
                ramSize       = 8;
                hardsCount    = 1;
                hardsCapacity = 1000;
                userPC        = Dell.CreatePC(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);

                cpuType       = 64;
                coreCount     = 8;
                ramSize       = 64;
                hardsCount    = 2;
                hardsCapacity = 2000;
                userServer    = Dell.CreateServer(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);

                cpuType       = 32;
                coreCount     = 4;
                ramSize       = 8;
                hardsCount    = 1;
                hardsCapacity = 1000;
                userLaptop    = Dell.CreateLaptop(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);
                break;

            case "Lenovo":
                cpuType       = 64;
                coreCount     = 2;
                ramSize       = 4;
                hardsCount    = 1;
                hardsCapacity = 2000;
                userPC        = Lenovo.CreatePC(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);

                cpuType       = 128;
                coreCount     = 2;
                ramSize       = 8;
                hardsCount    = 2;
                hardsCapacity = 500;
                userServer    = Lenovo.CreateServer(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);

                cpuType       = 64;
                coreCount     = 2;
                ramSize       = 16;
                hardsCount    = 1;
                hardsCapacity = 1000;
                userLaptop    = Lenovo.CreateLaptop(cpuType, coreCount, ramSize, hardsCount, hardsCapacity);
                break;

            default:
                throw new ArgumentException("Invalid manufacturer!");
                break;
            }

            while (true)
            {
                var command = Console.ReadLine();
                if (command == null)
                {
                    goto end;
                }
                if (command.StartsWith("Exit"))
                {
                    goto end;
                }

                var commandLine = command.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                if (commandLine.Length != 2)
                {
                    {
                        throw new ArgumentException("Invalid command!");
                    }
                }

                var commandName  = commandLine[0];
                var commandValue = int.Parse(commandLine[1]);


                if (commandName == "Charge")
                {
                    userLaptop.ChargeBattery(commandValue);
                }
                else if (commandName == "Process")
                {
                    userServer.Process(commandValue);
                }
                else if (commandName == "Play")
                {
                    userPC.Play(commandValue);
                }

                continue;
                Console.WriteLine("Invalid command!");
            }
            end :;
        }