using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using AMESCoreStudio.WebApi; using AMESCoreStudio.WebApi.Models.AMES; using AMESCoreStudio.CommonTools.Result; namespace AMESCoreStudio.WebApi.Controllers.AMES { /// <summary> /// 抽驗批退資料檔 /// </summary> [Route("api/[controller]")] [ApiController] public class QngInfoeController : ControllerBase { private readonly AMESContext _context; public QngInfoeController(AMESContext context) { _context = context; } // GET: api/QngInfoe [HttpGet] public async Task<ActionResult<IEnumerable<QngInfo>>> GetQngInfos() { return await _context.QngInfos.ToListAsync(); } // GET: api/QngInfoe/5 [HttpGet("{id}")] public async Task<ActionResult<QngInfo>> GetQngInfo(int id) { var qngInfo = await _context.QngInfos.FindAsync(id); if (qngInfo == null) { return NotFound(); } return qngInfo; } /// <summary> /// 更新抽驗批退 /// </summary> /// <param name="qngInfo"></param> /// <returns></returns> [HttpPut] public async Task<ResultModel<QngInfo>> PutQngInfo(QngInfo qngInfo) { ResultModel<QngInfo> result = new ResultModel<QngInfo>(); _context.Entry(qngInfo).State = EntityState.Modified; qngInfo.UpdateDate = DateTime.Now; qngInfo.UpdateUserID = 0; try { await _context.SaveChangesAsync(); result.Success = true; result.Msg = "OK"; } catch (Exception ex) { result.Success = false; result.Msg = ex.InnerException.Message; } return result; } /// <summary> /// 新增抽驗批退 /// </summary> /// <param name="qngInfo"></param> /// <returns></returns> [HttpPost] public async Task<ResultModel<QngInfo>> PostQngInfo(QngInfo qngInfo) { ResultModel<QngInfo> result = new ResultModel<QngInfo>(); Helper helper = new Helper(_context); qngInfo.QngID = helper.GetIDKey("QNG_ID").Result; _context.QngInfos.Add(qngInfo); try { await _context.SaveChangesAsync(); result.Success = true; result.Msg = "OK"; } catch (Exception ex) { result.Success = false; result.Msg = ex.InnerException.Message; } return result; } // DELETE: api/QngInfoe/5 [HttpDelete("{id}")] public async Task<ActionResult<QngInfo>> DeleteQngInfo(int id) { var qngInfo = await _context.QngInfos.FindAsync(id); if (qngInfo == null) { return NotFound(); } _context.QngInfos.Remove(qngInfo); await _context.SaveChangesAsync(); return qngInfo; } private bool QngInfoExists(int id) { return _context.QngInfos.Any(e => e.QngID == id); } } }