Example #1
0
        private static void InitializeComputers()
        {
            var manufacturer = Console.ReadLine();

            if (manufacturer == "HP")
            {
                // pc
                var ram         = new RamMemory(2);
                var videoCard   = VideoCardFactory.CrateVideoCard(VideoCardType.COLORFUL);
                var motherboard = new Motherboard(videoCard, ram);
                var cpu         = new Cpuu.Cpu(2, CpuType.BIT32, motherboard);

                pc = new PC(cpu, motherboard, new HardDriver(500, false, 0));

                var serverRam    = new RamMemory(32);
                var serverVideo  = VideoCardFactory.CrateVideoCard(VideoCardType.MONOCHROME);
                var serverMBoard = new Motherboard(serverVideo, serverRam);
                var serverCpu    = new Cpu(4, CpuType.BIT32, serverMBoard);

                server = new Server(serverCpu, serverMBoard, new[] { new HardDriver(1000, true, 2) });

                var ramLaptop         = new RamMemory(4);
                var videoCardLaptop   = VideoCardFactory.CrateVideoCard(VideoCardType.COLORFUL);
                var motherboardLaptop = new Motherboard(videoCardLaptop, ram);
                var cpuLaptop         = new Cpuu.Cpu(2, CpuType.BIT64, motherboard);

                laptop = new Laptop(cpu, motherboard, new HardDriver(500, false, 0), new ComputerBuildingSystem.Computerr.LaptopBattery());
            }
            else if (manufacturer == "Dell")
            {
                // pc
                var ram         = new RamMemory(8);
                var videoCard   = VideoCardFactory.CrateVideoCard(VideoCardType.COLORFUL);
                var motherboard = new Motherboard(videoCard, ram);
                var cpu         = new Cpuu.Cpu(2, CpuType.BIT64, motherboard);

                pc = new PC(cpu, motherboard, new HardDriver(1000, false, 0));

                var serverRam    = new RamMemory(64);
                var serverVideo  = VideoCardFactory.CrateVideoCard(VideoCardType.MONOCHROME);
                var serverMBoard = new Motherboard(serverVideo, serverRam);
                var serverCpu    = new Cpu(8, CpuType.BIT64, serverMBoard);

                server = new Server(serverCpu, serverMBoard, new[] { new HardDriver(2000, true, 2) });

                var ramLaptop         = new RamMemory(8);
                var videoCardLaptop   = VideoCardFactory.CrateVideoCard(VideoCardType.COLORFUL);
                var motherboardLaptop = new Motherboard(videoCardLaptop, ram);
                var cpuLaptop         = new Cpuu.Cpu(2, CpuType.BIT32, motherboard);

                laptop = new Laptop(cpu, motherboard, new HardDriver(1000, false, 0), new ComputerBuildingSystem.Computerr.LaptopBattery());
            }
            else
            {
                throw new InvalidArgumentException("Invalid manufacturer!");
            }
        }
Example #2
0
        public string CreateComputer(List <string> args)
        {
            string userName = args[0];

            args.RemoveAt(0);

            if (!this.users.ContainsKey(userName))
            {
                return($"Username: {userName} does not exist!");
            }

            User user = this.users[userName];

            Processor processor = ProcerssorFactory.CreateProcessor(args.Take(4).ToList());

            if (processor == null)
            {
                return("Invalid type processor!");
            }

            VideoCard videoCard = VideoCardFactory.CreateVideoCard(args.Skip(4).Take(5).ToList());

            if (videoCard == null)
            {
                return("Invalid type video card!");
            }

            int ram = int.Parse(args[args.Count - 1]);

            Computer computer = new Computer(processor, videoCard, ram);

            decimal computerCosts = computer.Processor.Price + computer.VideoCard.Price;

            if (user.Money >= computerCosts)
            {
                user.Computer = computer;
                user.Money   -= computerCosts;

                return($"Successfully created computer for user: {userName}!");
            }

            return($"User: {user.Name} - insufficient funds!");
        }