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 { ///yiru add /// <summary> /// 檢驗單明細資料檔 /// </summary> [Route("api/[controller]")] [ApiController] public class WarehouseingController : ControllerBase { private readonly AMESContext _context; /// <summary> /// 完工入庫資料 /// </summary> /// <param name="context"></param> public WarehouseingController(AMESContext context) { _context = context; } // GET: api/Warehouseing /// <summary> /// 查詢所有已入庫資料 /// </summary> /// <returns></returns> [HttpGet] public async Task<ActionResult<IEnumerable<WareHouseing>>> GetWareHouseings() { return await _context.WareHouseings.ToListAsync(); } /// <summary> /// 查詢完工入庫資料 By 送驗單號、序號 /// </summary> /// <param name="inhouseNo">入庫單號</param> /// <param name="seq">序號</param> /// <returns></returns> [HttpGet("{inhouseNo}/{seq}")] public async Task<ActionResult<IEnumerable<WareHouseing>>> GetWareHouseing(string inhouseNo, int seq) { var WareHouseing = await _context.WareHouseings .Where(w => w.InhouseNo == inhouseNo && w.SeqID == seq) .ToListAsync(); return WareHouseing; } /// <summary> /// 修改完工入庫資料 /// </summary> /// <param name="WareHouseing"></param> /// <returns></returns> [HttpPut] public async Task<ResultModel<WareHouseing>> PutWareHouseing(WareHouseing WareHouseing) { ResultModel<WareHouseing> result = new ResultModel<WareHouseing>(); _context.Entry(WareHouseing).State = EntityState.Modified; //設置容器空間某一個模型的某一個欄位 不提交到資料庫 _context.Entry<WareHouseing>(WareHouseing).Property("Create_Date").IsModified = false; _context.Entry<WareHouseing>(WareHouseing).Property("Create_UserID").IsModified = false; 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="WareHouseing"></param> /// <returns></returns> [HttpPost] public async Task<ResultModel<WareHouseing>> PostWareHouseing(WareHouseing WareHouseing) { ResultModel<WareHouseing> result = new ResultModel<WareHouseing>(); try { _context.WareHouseings.Add(WareHouseing); 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="id"></param> /// <returns></returns> //[HttpDelete("{id}")] //public async Task<ActionResult<WareHouseing>> DeleteWareHouseing(string id) //{ // var WareHouseing = await _context.WareHouseings.FindAsync(id); // if (WareHouseing == null) // { // return NotFound(); // } // _context.WareHouseings.Remove(WareHouseing); // await _context.SaveChangesAsync(); // return WareHouseing; //} } }