Пример #1
0
        public GermanyCar CreateNewGermanyCar(string name, int engineVol, int tankVol, string bodyType)
        //Action<IProductOptions> optionalParams)
        {
            var germanyCar = new GermanyCar(name, engineVol, tankVol, bodyType);

            OnGermanyCarCreation(germanyCar);
            return(germanyCar);
        }
Пример #2
0
        public GermanyCar CreateNewGermanyCar(string brand, string name, int engineVol, int tankVol, string bodyType,
                                              string countryOfOrigin, int percentOfPrestige)
        //Action<IProductOptions> optionalParams)
        {
            var germanyCar = new GermanyCar(brand, name, engineVol, tankVol, bodyType, countryOfOrigin, percentOfPrestige);

            OnGermanyCarCreation(germanyCar);
            return(germanyCar);
        }
Пример #3
0
 public void Notify(GermanyCar germanyCar)
 {
     Console.WriteLine("Send Email: MEGA Congrats. New GERMANY car created!");
     Logger.SaveMessageToLog("Email was sended");
     Console.WriteLine(new string('-', 30));
 }
Пример #4
0
 public void Notify(GermanyCar germanyCar)
 {
     Console.WriteLine("Send SMS: Congrats. GERMANY!");
     Console.WriteLine(new string('-', 30));
     Logger.SaveMessageToLog("SMS was sended");
 }
Пример #5
0
        private static void Main(string[] args)
        {
            ServiceLocator.RegisterAll();
            GermanyCarFactory = ServiceLocator.Get <GermanyCarFactory>();
            JapanCarFactory   = ServiceLocator.Get <JapanCarFactory>();

            GermanyCar bmw = GermanyCarFactory.CreateNewGermanyCar("BMW", 3500, 100, "Sedan");

            GermanyCar audi = GermanyCarFactory.CreateNewGermanyCar("Audi", 2500, 80, "Universal");

            JapanCar honda = JapanCarFactory.CreateNewJapanCar("Honda", 2000, 70, "Hatchbag");

            var      ChinaCarFactory = new ChinaCarFactory();
            ChinaCar byd             = ChinaCarFactory.CreateNewChinaCar("BYD", 1300, 50, "ChinaStyle");

            TuneCar(audi);
            Console.WriteLine(new string('=', 30));
            //TuneCar(bmw);
            //Console.WriteLine(new string('=', 30));
            //TuneCar(honda);
            //Console.WriteLine(new string('=', 30));

            // Germany car info

            #region

            Console.WriteLine(new string('-', 30));
            Console.WriteLine("GermanyCar : " + bmw.Name);
            Console.WriteLine(bmw.Name + " engine: " + bmw.EngineIsStarted);
            Console.WriteLine(bmw.Name + " lights: " + bmw.lights);
            Console.WriteLine(new string('-', 30));
            bmw.CheckAllSystem();
            bmw.StartEngine();

            #endregion

            // Japan car info

            #region

            Console.WriteLine("JapanCar : " + honda.Name);
            Console.WriteLine(honda.Name + " engine: " + honda.EngineIsStarted);
            Console.WriteLine(honda.Name + " lights: " + honda.lights);
            Console.WriteLine(new string('-', 30));
            honda.CheckAllSystem();
            honda.StartEngine();
            honda.lights = false;

            #endregion

            // China car info

            #region

            Console.WriteLine("ChinaCar : " + byd.Name);
            Console.WriteLine(byd.Name + " engine: " + byd.EngineIsStarted);
            Console.WriteLine(byd.Name + " lights: " + byd.lights);
            Console.WriteLine(new string('-', 30));
            byd.CheckAllSystem();
            byd.StartEngine();

            #endregion

            Console.WriteLine(new string('-', 30));

            audi.BattOk = false;
            byd.BattOk  = false;
            Service srv = new Service();

            // Service check

            #region

            srv.Check(bmw);
            srv.Check(honda);
            srv.Check(byd);
            Console.WriteLine();
            srv.Check(audi);
            srv.Repair(audi);
            srv.Check(audi);
            Console.WriteLine();

            #endregion

            Console.WriteLine("!!! Start Engine !!!");
            Console.WriteLine(new string('-', 30));

            Console.WriteLine("     " + bmw);
            Console.WriteLine(honda.ToString());
            Console.WriteLine(byd.ToString());
            Console.WriteLine(audi.ToString());

            Console.WriteLine(new string('-', 30));
            UseProxy(bmw, audi, honda);

            // Observer RDS

            #region

            Console.WriteLine(new string('=', 30));
            RdsTrans = new RDSTransmitter();
            RdsTrans.Subscribe(audi.Receiver);
            RdsTrans.Subscribe(byd.Receiver);
            RdsTrans.LastNews = DateTime.Now + " Have an ice day ";
            RdsTrans.UnSubscribe(byd.Receiver);
            RdsTrans.LastNews = "Weather for this evening";
            Console.WriteLine(new string('=', 30));

            #endregion

            // Template method

            #region

            bmw.StartAirConditioner();
            audi.StartAirConditioner();
            honda.StartAirConditioner();
            Console.WriteLine(audi.ToString());

            #endregion

            Console.ReadLine();
        }
Пример #6
0
 public void OnGermanyCarCreation(GermanyCar germanyCar)
 {
     _notifyUsersAction.Notify(germanyCar);
 }