Ejemplo n.º 1
0
 public Client(AbstractCarManufaturer abstractCarManufaturer)
 {
     //абстрагирование процессов инстанцирования
     chassis = abstractCarManufaturer.CreateChassis();
     engine  = abstractCarManufaturer.CreateEngine();
     salon   = abstractCarManufaturer.CreateSalon();
 }
 public MyEngine
 (
     [NotNull] IrbisConnection connection,
     [CanBeNull] AbstractEngine nestedEngine
 )
     : base(connection, nestedEngine)
 {
 }
Ejemplo n.º 3
0
        private void processNotice(AbstractEngine LandBank, AbstractEngine IntraAP, string pStatus, string pSubject, string pMailContent)
        {
            try
            {
                string sql = "";
                //sql = string.Format("update BatchLog set status = {0},endtime = getdate() where progname = 'JBossService'", pStatus);
                //LandBank.executeSQL(sql);

                string DBstr_IntraAP = getEncodedProperty("DBstr", "IntraAP");

                //AbstractEngine IntraAP = factory.getEngine("SQL", DBstr_IntraAP);

                sql = "select AJMFA003 from AJMFA where AJMFA001='JBossServiceMail'";
                string sToMail = objToStr(IntraAP.executeScalar(sql));
                if (sToMail == "")
                {
                    throw new Exception("no data found: select AJMFA003 from AJMFA where AJMFA001='JBossServiceMail'");
                }

                sql = "select SMVHAAA004 from SMVHAAA where SMVHAAA002='SystemMail'";
                string sFromMail = objToStr(IntraAP.executeScalar(sql));
                if (sFromMail == "")
                {
                    throw new Exception("no data found: select SMVHAAA004 from SMVHAAA where SMVHAAA002='SystemMail'");
                }

                string[] emails = sToMail.Split(';');
                foreach (string singleEmail in emails)
                {
                    //com.dsc.kernal.utility.MailProcessor.sendMail("127.0.0.1", singleEmail, sFromMail, "差勤系統JBoss服務執行失敗", "差勤系統JBoss服務執行失敗");
                    sendEMail(singleEmail, sFromMail, pSubject, pMailContent);
                }
                //sql = "select sn from Landbank..BatchLog where progname='JBossService'";
                //string sSn = LandBank.executeScalar(sql).ToString();

                //sql = "select max(Seqno) from Landbank..SystemLog where SourceID = '" + sSn + "' and sdate = CONVERT(varchar(12) , getdate(), 111 )";
                //string sSeqno = LandBank.executeScalar(sql).ToString();
                string sSeqno = "";

                int iSeqno = 1;
                if (!String.IsNullOrEmpty(sSeqno))
                {
                    iSeqno = int.Parse(sSeqno);
                    iSeqno++;
                }

                //sql = "insert into Landbank..SystemLog (SourceID,Seqno,sdate,stime,ChgItem,Result) values('" + sSn + "','" + iSeqno.ToString() + "',CONVERT(varchar(12) , getdate(), 111 ),getdate(),'" + pSubject + "','" + pMailContent + "')";
                //LandBank.executeSQL(sql);
            }
            catch (Exception ex)
            {
                log(ex.ToString());
                throw ex;
            }
        }
Ejemplo n.º 4
0
 public GetCurrentCommands(AbstractEngine engine)
 {
     foreach (Type type in
         Assembly.GetAssembly(typeof(AbstractCommand)).GetTypes()
         .Where(myType => myType.IsClass && !myType.IsAbstract && myType.IsSubclassOf(typeof(AbstractCommand))))
     {
         AbstractCommand command = (AbstractCommand)Activator.CreateInstance(type, engine);
         this.commands[command.Id] = command;
         command.OutputMessage += engine.OnIncomingOutputMessage;
     }
 }
Ejemplo n.º 5
0
 public Vehicle(VehicleType type, AbstractEngine engine, string modelName,
                string registrationNumber, int weight, int yearManufacture, int?mileage, Color color)
 {
     Type               = type;
     Engine             = engine;
     ModelName          = modelName;
     RegistrationNumber = registrationNumber;
     Weight             = weight;
     YearManufacture    = yearManufacture;
     Mileage            = mileage;
     Color              = color;
 }
Ejemplo n.º 6
0
        protected override void OnStop()
        {
            try
            {
                ip = getIP();
                string            m_ServiceName = "JBAS50SVC";
                ServiceController service       = new ServiceController(m_ServiceName);

                GlobalProperty.Filename = System.AppDomain.CurrentDomain.BaseDirectory + "\\setting.ini";
                IOFactory factory        = new IOFactory();
                string    DBstr_LandBank = getEncodedProperty("DBstr", "LandBank");
                string    DBstr_IntraAP  = getEncodedProperty("DBstr", "IntraAP");

                AbstractEngine LandBank = factory.getEngine("SQL", DBstr_LandBank);
                AbstractEngine IntraAP  = factory.getEngine("SQL", DBstr_IntraAP);

                // 設定一個 Timeout 時間,若超過 60 秒啟動不成功就宣告失敗!
                TimeSpan timeout = TimeSpan.FromMilliseconds(1000 * 60);

                // 若該服務不是「停用」的狀態,才將其停止運作,否則會引發 Exception
                if (service.Status != ServiceControllerStatus.Stopped &&
                    service.Status != ServiceControllerStatus.StopPending)
                {
                    service.Stop();
                    service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
                }

                //string msg = "";
                //if (checkNaNaWeb() == true)
                //{
                //    string subject = ip + "工作流程系統JBoss服務停止失敗";
                //    msg = ip + "<Font color=\"#FF0000\">工作流程系統JBoss服務停止失敗</Font>";
                //    processNotice(LandBank, IntraAP, "2", subject, msg);
                //}
                //else
                //{
                //    msg = ip + "工作流程系統JBoss服務已停止";
                //    processNotice(LandBank, IntraAP, "1", msg, msg);
                //}
            }
            catch (Exception ex)
            {
                // 如果無法停用服務會引發 Exception,也會讓反安裝自動中斷
                //throw new exception("服務無法停用,建議您可以先利用「工作管理員」將 INService.exe 程序結束,再進行解除安裝。");
                //com.dsc.kernal.utility.Utility.writeFileLog("C:\\", ex.TargetSite + "服務無法停用,建議您可以先利用「工作管理員」將 JBossService.exe 程序結束,再進行解除安裝。");
                log(ex.ToString());
                throw ex;
            }
        }
Ejemplo n.º 7
0
 public Vehicle(int id, VehicleType type, string modelName, string registrationNumber, double weight,
                int manufactureYear, double mileage, double tankVolume, Colors color, AbstractEngine engine, List <Rent> rents)
 {
     Id                 = id;
     Type               = type;
     ModelName          = modelName;
     RegistrationNumber = registrationNumber;
     Weight             = weight;
     ManufactureYear    = manufactureYear;
     Mileage            = mileage;
     TankVolume         = tankVolume;
     Color              = color;
     Engine             = engine;
     CarRents           = rents;
 }
        /// <summary>
        /// Creates Vehicle object from csv string
        /// </summary>
        /// <param name="csvString">source string</param>
        /// <param name="rents">list of rent for map data</param>
        /// <param name="types">list of vehicle types for map data</param>
        /// <returns>Parsed vehicle object</returns>
        public static Vehicle CreateVehicle(string csvString, IEnumerable <Rent> rents, IEnumerable <VehicleType> types)
        {
            if (csvString is not null)
            {
                var fields             = csvString.Split(CsvSeparator, StringSplitOptions.TrimEntries);
                var id                 = int.Parse(fields[0]);
                var type               = types.FirstOrDefault(type => type.Id == int.Parse(fields[1]));
                var modelName          = fields[2];
                var registrationNumber = fields[3];
                var weight             = int.Parse(fields[4]);
                var manufactureYear    = int.Parse(fields[5]);
                var mileage            = int.Parse(fields[6]);
                var color              = Enum.Parse <Colors>(fields[7]);
                var engineType         = fields[8];

                AbstractEngine engine = engineType switch
                {
                    EngineTypeConstants.Diesel =>
                    new DieselEngine(double.Parse(fields[9]), double.Parse(fields[10]), int.Parse(fields[11])),
                    EngineTypeConstants.Gasoline =>
                    new GasolineEngine(double.Parse(fields[9]), double.Parse(fields[10]), int.Parse(fields[11])),
                    EngineTypeConstants.Electrical =>
                    new ElectricalEngine(double.Parse(fields[9]), int.Parse(fields[11])),
                    _ => throw new FormatException("Some engine data doesn't have valid format!"),
                };

                var resultVehicle = new Vehicle
                                    (
                    id,
                    type,
                    engine,
                    modelName,
                    registrationNumber,
                    weight,
                    manufactureYear,
                    mileage,
                    color
                                    );
                resultVehicle.Rents = rents.Where(rent => rent.VehicleId == id).ToList();

                return(resultVehicle);
            }

            throw new ArgumentNullException(nameof(csvString), "Csv string was null!");
        }
Ejemplo n.º 9
0
        private static void RunProgram()
        {
            var caPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "cacert-2017-09-20.pem");

            using (var engine = AbstractEngine.Create(caPath, 0, 0))
            {
                engine.OnInfo    = OnInfo;
                engine.OnWarning = OnWarning;
                engine.OnError   = OnError;

                engine.FirewallCheckCallback    = FirewallCheck;
                engine.HttpMessageBeginCallback = OnHttpMessageBegin;
                engine.HttpMessageEndCallback   = OnHttpMessageEnd;

                engine.Start();
                s_rstEvent.WaitOne();

                engine.Stop();
            }
        }
        public void Simulate(AbstractEngine engine)
        {
            engine.Start(ambientTemperature);
            var stopwatch = new Stopwatch();

            stopwatch.Start();

            Thread heatingThread = new Thread(new ParameterizedThreadStart(HeatEngine));

            heatingThread.Start(engine);
            Thread coolingThread = new Thread(new ParameterizedThreadStart(CoolEngine));

            coolingThread.Start(engine);

            int checkTimeStep = 1000;

            while (true)
            {
                Thread.Sleep(checkTimeStep);

                double diff = engine.Temperature.Celsius - parameters.OverheatTemperature.Celsius;
                if (Math.Abs(diff) <= tolerance || diff > 0)
                {
                    stop = true;
                    EngineWorkingTime = stopwatch.Elapsed;

                    Console.WriteLine("Engine check ... Temperature equals {0}", engine.Temperature.Celsius);

                    Thread.Sleep(modelTimeStep);
                    Thread.Sleep(modelTimeStep);

                    return;
                }
                Console.WriteLine("Engine check ... Temperature equals {0}", engine.Temperature.Celsius);
            }
        }
Ejemplo n.º 11
0
 public ReportEvents(AbstractEngine engine)
     : base(engine)
 {
     engine.reportBehaviorToggle = true;
     engine.reportKilledBlob = true;
 }
Ejemplo n.º 12
0
 public override void MaxSpeed(AbstractEngine engine)
 {
     Console.WriteLine("Максимальная скорость " + engine.max_speed);
 }
Ejemplo n.º 13
0
 public Client(CarsFactory carFactory)
 {
     c = carFactory.CreateCar();
     e = carFactory.CreateEngine();
     b = carFactory.CreateBody();
 }
Ejemplo n.º 14
0
 public Client(CarFactory car_factory)
 {
     abstractCar    = car_factory.CreateCar();
     abstractEngine = car_factory.CreateEngine();
 }
Ejemplo n.º 15
0
Archivo: Audi.cs Proyecto: tami-sub/ict
        public override int MaxSpeed(AbstractEngine engine)
        {
            int ms = engine.max_speed;

            return(ms);
        }
 public abstract void Interact(AbstractEngine engine);
Ejemplo n.º 17
0
 public Create(AbstractEngine engine)
     : base(engine)
 {
 }
Ejemplo n.º 18
0
 public Status(AbstractEngine engine)
     : base(engine)
 {
 }
 public abstract void MaxSpeed(AbstractEngine engine);
Ejemplo n.º 20
0
 public Attack(AbstractEngine engine)
     : base(engine)
 {
 }
Ejemplo n.º 21
0
 public Pass(AbstractEngine engine)
     : base(engine)
 {
 }
Ejemplo n.º 22
0
        protected override void OnStart(string[] args)
        {
            try
            {
                //System.Threading.Thread.Sleep(20000);
                ip = getIP();
                string            m_ServiceName = "JBossService";
                ServiceController service       = new ServiceController(m_ServiceName);

                GlobalProperty.Filename = System.AppDomain.CurrentDomain.BaseDirectory + "\\setting.ini";
                IOFactory factory        = new IOFactory();
                string    DBstr_LandBank = getEncodedProperty("DBstr", "LandBank");
                string    DBstr_IntraAP  = getEncodedProperty("DBstr", "IntraAP");

                AbstractEngine LandBank = factory.getEngine("SQL", DBstr_LandBank);
                //string sql = "update BatchLog set status = 1,starttime = getdate(),endtime = null where progname = 'JBossService'";
                //LandBank.executeSQL(sql);
                //com.dsc.kernal.utility.Utility.writeFileLog("C:\\", "finish SQL");

                TimeSpan timeout = TimeSpan.FromMilliseconds(1000 * 300);


                m_ServiceName = "JBAS50SVC";
                service       = new ServiceController(m_ServiceName);

                // 檢查相依性
                ServiceController www = new ServiceController("W3SVC");
                www.WaitForStatus(ServiceControllerStatus.Running, timeout);

                ServiceController[] depends = service.ServicesDependedOn;
                for (int i = 0; i < depends.Length; i++)
                {
                    //log(depends[i].ServiceName);
                    while (depends[i].Status.Equals(ServiceControllerStatus.Running) == false)
                    {
                        //log("wait");
                        System.Threading.Thread.Sleep(10000);
                    }
                }

                if (!service.Status.Equals(ServiceControllerStatus.Running))
                {
                    service.Start();
                    service.WaitForStatus(ServiceControllerStatus.Running, timeout);

                    // 可能前一次關閉時有問題,造成第一次啟動失敗,再一次關閉後再啟動
                    service.Stop();
                    service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
                    service.Start();
                    service.WaitForStatus(ServiceControllerStatus.Running, timeout);
                }

                AbstractEngine IntraAP = factory.getEngine("SQL", DBstr_IntraAP);

                if (checkNaNaWeb() == false)
                {
                    string subject = ip + "工作流程系統流程引擎JBoss服務執行失敗";
                    string msg     = ip + "<Font color=\"#FF0000\">工作流程系統流程引擎JBoss服務執行失敗</Font>";
                    processNotice(LandBank, IntraAP, "1", subject, msg);
                }
                else
                {
                    string msg = ip + "工作流程系統流程引擎JBoss服務執行成功";
                    processNotice(LandBank, IntraAP, "2", msg, msg);
                }
                LandBank.close();
            }
            catch (Exception ex)
            {
                //com.dsc.kernal.utility.Utility.writeFileLog("C:\\", ex.TargetSite + "服務無法啟動,請檢查相關設定!");
                log(ex.ToString());
                throw ex;
            }
        }
 public override void Interact(AbstractEngine engine)
 {
     Console.WriteLine(this + " interacts " + engine);
 }
Ejemplo n.º 24
0
 public override int MaxSpeed(AbstractEngine engine)
 {
     return(engine.max_speed);
 }
Ejemplo n.º 25
0
 // Constructor
 public CarFactory(AbstractFactory factory)
 {
     engine = factory.CreateEngine();
     wheels = factory.CreateWeels();
 }
Ejemplo n.º 26
0
 public abstract int MaxSpeed(AbstractEngine engine);
Ejemplo n.º 27
0
 public override void ConnectEngine(AbstractEngine engine)
 {
     this.ConnectEngine(engine);
 }