public BoardPoint Post(AiConfig aiConfig) { IAi ai = CreateAiObject(aiConfig.TurnPiece, aiConfig.AiName); var board = aiConfig.GetBoard(); return(ai.HitPiece(board)); }
public AI64 Ai64web(AiConfig config) { using (var conn = new MySqlConnection(Webscsb.ConnectionString)) { string sql = "SELECT * FROM Ai64 WHERE CaseNo = @CaseNo AND AiNo = @AiNo"; var data = conn.QuerySingle <AI64>(sql, new { config.CaseNo, config.AiNo }); return(data); } }
/// <summary> /// AiConfig新增 /// </summary> /// <param name="setting"></param> public void Insert_AiConfig(AiConfig setting) { try { using (var Conn = new MySqlConnection(scsb.ConnectionString)) { string sql = "INSERT IGNORE INTO AiConfig (CaseNo,AiNo,Ai,AiName,Aiunit,AicalculateFlag,CompareFlag,AiMax,AiMin,EnumFlag,Enum_Array)" + " VALUES(@CaseNo,@AiNo,@Ai,@AiName,@Aiunit,@AicalculateFlag,@CompareFlag,@AiMax,@AiMin,@EnumFlag,@Enum_Array) "; Conn.Execute(sql, setting); } } catch (Exception ex) { Log.Error(ex, "AiConfig新增" + "錯誤(Ewatch)"); } }
/// <summary> /// AiConfig新增 /// </summary> /// <param name="setting"></param> public void Insert_AiConfig(AiConfig setting) { try { using (var Conn = new MySqlConnection(scsb.ConnectionString)) { string sql = "INSERT IGNORE INTO AiConfig (DeviceTypeEnum,AINo,CharAddress,AIName,Aiunit,Ratio,AnalysisMothed,Enum_Array)" + " VALUES(@DeviceTypeEnum,@AINo,@CharAddress,@AIName,@Aiunit,@Ratio,@AnalysisMothed,@Enum_Array) "; Conn.Execute(sql, setting); } } catch (Exception ex) { Log.Error(ex, "AiConfig新增" + "錯誤(ChungHsin)"); } }
/// <summary> /// 讀取AI64即時資訊(Web) /// </summary> /// <param name="config"></param> /// <returns></returns> public AI64 Ai64web(AiConfig config) { try { using (var conn = new MySqlConnection(Webscsb.ConnectionString)) { string sql = "SELECT * FROM Ai64 WHERE CaseNo = @CaseNo AND AiNo = @AiNo"; var data = conn.QuerySingle <AI64>(sql, new { config.CaseNo, config.AiNo }); return(data); } } catch (Exception ex) { Log.Error(ex, "讀取AI64即時資訊(Web)" + "錯誤(Ewatch)"); return(null); } }
private async void OnTimedEvent(Object source, ElapsedEventArgs e) { var aiConfig = new AiConfig(boardState.Board, boardState.TurnPiece, GetAiName()); var result = await Http.PostAsJsonAsync("Ai", aiConfig); var boardPoint = await result.Content.ReadFromJsonAsync <BoardPoint>(); Console.WriteLine($"AiName:{GetAiName()}"); Console.WriteLine($"X:{boardPoint.X} Y:{boardPoint.Y}"); boardState.ExecuteTurn(boardPoint); StateHasChanged(); if (boardState.GetPossibleSetStoneCount(Piece.Black) == 0 && boardState.GetPossibleSetStoneCount(Piece.White) == 0) { timer.Stop(); } }
public AiLogRequest(int sequence, AiConfig aiConfig, string action) { Name = $"Microsoft.ApplicationInsights.{aiConfig.InstrumentationKey}.{action}"; Time = $"{DateTime.UtcNow:O}"; Sequence = sequence.ToString("0000000000"); InstrumentationKey = aiConfig.InstrumentationKey; Tags = new AiTags { OSVersion = aiConfig.XTBVersion, DeviceType = aiConfig.PluginName, ApplicationVersion = aiConfig.PluginVersion, SessionId = aiConfig.SessionId.ToString(), OperationName = aiConfig.OperationName }; Data = new AiData { BaseType = $"{action}Data", BaseData = new AiBaseData() }; }
private void ChangesimpleButton_Click(object sender, EventArgs e) { AiConfig aiConfig = new AiConfig() { CaseNo = CaseNotextEdit.Text, AiNo = Convert.ToInt32(AiNotextEdit.Text), AiName = AiNametextEdit.Text, Ai = AitextEdit.Text, AiCalculateFlag = AicalculateFlagtoggleSwitch.IsOn, Aiunit = AiunittextEdit.Text, CompareFlag = CompareFlagFlagtoggleSwitch.IsOn, AiMax = Convert.ToDecimal(AiMaxtextEdit.Text), AiMin = Convert.ToDecimal(AiMintextEdit.Text), EnumFlag = EnumFlagtoggleSwitch.IsOn, Enum_Array = Enum_ArraytextEdit.Text }; Ewatch_MySqlMethod.Update_AiConfig(aiConfig); Search_Setting(); }
private void SavesimpleButton_Click(object sender, EventArgs e) { AiConfig aiConfig = new AiConfig() { CaseNo = CaseNotextEdit.Text, AiNo = Convert.ToInt32(AiNotextEdit.Text), AiName = AiNametextEdit.Text, Ai = AitextEdit.Text, AiCalculateFlag = AicalculateFlagtoggleSwitch.IsOn, Aiunit = AiunittextEdit.Text, CompareFlag = CompareFlagFlagtoggleSwitch.IsOn, AiMax = Convert.ToDecimal(AiMaxtextEdit.Text), AiMin = Convert.ToDecimal(AiMintextEdit.Text), EnumFlag = EnumFlagtoggleSwitch.IsOn, Enum_Array = Enum_ArraytextEdit.Text, }; Ewatch_MySqlMethod.Insert_AiConfig(aiConfig); caseUserControl.Search_Setting(); caseUserControl.FlyoutFlag = false; caseUserControl.flyout.Close(); }
/// <summary> /// AiConfig更新 /// </summary> /// <param name="setting"></param> public void Update_AiConfig(AiConfig setting) { try { using (var Conn = new MySqlConnection(scsb.ConnectionString)) { string sql = "UPDATE AiConfig SET " + "AIName = @AIName," + "Aiunit = @Aiunit," + "CharAddress = @CharAddress," + "Ratio = @Ratio," + "AnalysisMothed = @AnalysisMothed," + "Enum_Array = @Enum_Array" + " WHERE AINo = @AINo AND DeviceTypeEnum = @DeviceTypeEnum"; Conn.Execute(sql, setting); } } catch (Exception ex) { Log.Error(ex, "AiConfig更新" + "錯誤(ChungHsin)"); } }
/// <summary> /// AiConfig更新 /// </summary> /// <param name="setting"></param> public void Update_AiConfig(AiConfig setting) { try { using (var Conn = new MySqlConnection(scsb.ConnectionString)) { string sql = "UPDATE AiConfig SET " + "AiName = @AiName," + "Aiunit = @Aiunit," + "AicalculateFlag = @AicalculateFlag," + "CompareFlag = @CompareFlag," + "AiMax = @AiMax," + "AiMin = @AiMin," + "EnumFlag = @EnumFlag," + "Enum_Array = @Enum_Array" + " WHERE CaseNo = @CaseNo AND AiNo = @AiNo AND Ai = @Ai"; Conn.Execute(sql, setting); } } catch (Exception ex) { Log.Error(ex, "AiConfig更新" + "錯誤(Ewatch)"); } }
public AppInsights(AiConfig aiConfig) { _aiConfig = aiConfig; }
/// <summary> /// Initializes Application Insights instance. /// When called from a tool, make sure to pass Assembly.GetExecutingAssembly() as loggingassembly parameter!! /// </summary> /// <param name="endpoint">AppInsights endpoint, usually https://dc.services.visualstudio.com/v2/track</param> /// <param name="ikey">Instrumentation Key for the AppInsights instance in the Azure portal</param> /// <param name="loggingassembly">Assembly info to include in logging, usually pass Assembly.GetExecutingAssembly()</param> /// <param name="toolname">Override name of the tool, defaults to last part of the logging assembly name</param> public AppInsights(string endpoint, string ikey, Assembly loggingassembly, string toolname = null) { _aiConfig = new AiConfig(endpoint, ikey, loggingassembly, toolname); }
/// <summary> /// 上下限比較紀錄 /// </summary> /// <param name="config">AI點為設定資訊</param> public decimal Alarm_Procedure(AiConfig config, AI64 aI64) { try { decimal[] value = new decimal[64]; using (var conn = new MySqlConnection(Logscsb.ConnectionString)) { string Procedure = "AiAlarmProcedure"; int i = 0; value[i] = aI64.Ai1; i++; value[i] = aI64.Ai2; i++; value[i] = aI64.Ai3; i++; value[i] = aI64.Ai4; i++; value[i] = aI64.Ai5; i++; value[i] = aI64.Ai6; i++; value[i] = aI64.Ai7; i++; value[i] = aI64.Ai8; i++; value[i] = aI64.Ai9; i++; value[i] = aI64.Ai10; i++; value[i] = aI64.Ai11; i++; value[i] = aI64.Ai12; i++; value[i] = aI64.Ai13; i++; value[i] = aI64.Ai14; i++; value[i] = aI64.Ai15; i++; value[i] = aI64.Ai16; i++; value[i] = aI64.Ai17; i++; value[i] = aI64.Ai18; i++; value[i] = aI64.Ai19; i++; value[i] = aI64.Ai20; i++; value[i] = aI64.Ai21; i++; value[i] = aI64.Ai22; i++; value[i] = aI64.Ai23; i++; value[i] = aI64.Ai24; i++; value[i] = aI64.Ai25; i++; value[i] = aI64.Ai26; i++; value[i] = aI64.Ai27; i++; value[i] = aI64.Ai28; i++; value[i] = aI64.Ai29; i++; value[i] = aI64.Ai30; i++; value[i] = aI64.Ai31; i++; value[i] = aI64.Ai32; i++; value[i] = aI64.Ai33; i++; value[i] = aI64.Ai34; i++; value[i] = aI64.Ai35; i++; value[i] = aI64.Ai36; i++; value[i] = aI64.Ai37; i++; value[i] = aI64.Ai38; i++; value[i] = aI64.Ai39; i++; value[i] = aI64.Ai40; i++; value[i] = aI64.Ai41; i++; value[i] = aI64.Ai42; i++; value[i] = aI64.Ai43; i++; value[i] = aI64.Ai44; i++; value[i] = aI64.Ai45; i++; value[i] = aI64.Ai46; i++; value[i] = aI64.Ai47; i++; value[i] = aI64.Ai48; i++; value[i] = aI64.Ai49; i++; value[i] = aI64.Ai50; i++; value[i] = aI64.Ai51; i++; value[i] = aI64.Ai52; i++; value[i] = aI64.Ai53; i++; value[i] = aI64.Ai54; i++; value[i] = aI64.Ai55; i++; value[i] = aI64.Ai56; i++; value[i] = aI64.Ai57; i++; value[i] = aI64.Ai58; i++; value[i] = aI64.Ai59; i++; value[i] = aI64.Ai60; i++; value[i] = aI64.Ai61; i++; value[i] = aI64.Ai62; i++; value[i] = aI64.Ai63; i++; value[i] = aI64.Ai64; conn.Execute(Procedure, new { nowTime = aI64.ttime, CaseNo1 = config.CaseNo, AiNo1 = config.AiNo, Ai1 = config.Ai, NowData = value[Convert.ToInt32(System.Text.RegularExpressions.Regex.Replace(config.Ai, @"[^0-9]+", "")) - 1] }, commandType: System.Data.CommandType.StoredProcedure); } return(value[Convert.ToInt32(System.Text.RegularExpressions.Regex.Replace(config.Ai, @"[^0-9]+", "")) - 1]); } catch (Exception ex) { Log.Error(ex, "上下限比較紀錄" + "錯誤(Ewatch)"); return(0); } }