using AMESCoreStudio.CommonTools.Result; using AMESCoreStudio.WebApi.Models.BAS; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using System.Threading.Tasks; using System; using System.Net.Mail; using Microsoft.Extensions.Configuration; using System.Net; using System.Linq; using System.Text.RegularExpressions; using System.IO; using Dapper; using AMESCoreStudio.WebApi.Extensions; using AMESCoreStudio.WebApi.Models.AMES; using System.Data; using System.Collections.Generic; using System.Data.SqlClient; using Microsoft.Extensions.Options; using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; namespace AMESCoreStudio.WebApi.Controllers.BLL { /// <summary> /// TestLog 測試Log /// </summary> [Route("api/[controller]")] [ApiController] public class TestLogController : Controller { private readonly AMESContext _context; private readonly IConfiguration _config; /// <summary> /// 建構式 /// </summary> /// <param name="context"></param> public TestLogController(AMESContext context, IConfiguration config) { _config = config; _context = context; } /// <summary> /// 查詢 TestLog /// </summary> /// <param name="id">條碼</param> /// <returns></returns> [HttpGet("{id}")] public List<dynamic> GetTestLog(string id) { var query = @$" SELECT * FROM JHAMES.TEST_FUNCTION_TABLE WHERE SN=:id"; DynamicParameters p = new DynamicParameters(); p.Add("id", id, DbType.String); var q = _context.Database.DapperQuery<dynamic>(query, p); return q.ToList(); } /// <summary> /// 查詢 TestLog ByMSSql /// </summary> /// <param name="id">條碼</param> /// <returns></returns> [HttpGet("ByMSSql/{id}")] public async Task<List<dynamic>> GetTestLogByMSSql(string id) { var context = _config.GetConnectionString("TestLogConnection"); using (IDbConnection _TestLog_context = new SqlConnection(context)) { if (_TestLog_context.State != ConnectionState.Open) { _TestLog_context.Open(); } var query = @$" SELECT * FROM TestAutomate.dbo.TEST_FUNCTION_TABLE WHERE SN=@id"; DynamicParameters p = new DynamicParameters(); p.Add("id", id, DbType.String); var q = await _TestLog_context.QueryAsync<dynamic>(query, p); return q.ToList(); } } /// <summary> /// 查詢 是否有掃毒資料 /// </summary> /// <param name="id">工單號碼</param> /// <returns></returns> [HttpGet("AcnvirusLog/{id}")] public async Task<List<dynamic>> GetSacnvirus(string id) { var context = _config.GetConnectionString("TestLogConnection"); using (IDbConnection _TestLog_context = new SqlConnection(context)) { if (_TestLog_context.State != ConnectionState.Open) { _TestLog_context.Open(); } var query = @$" SELECT * FROM iFactory.PE.Sacnvirus_Table_View WHERE WIP=@id"; DynamicParameters p = new DynamicParameters(); p.Add("id", id, DbType.String); var q = await _TestLog_context.QueryAsync<dynamic>(query, p); return q.ToList(); } } } }