using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using AMESCoreStudio.WebApi.Models.AMES; using AMESCoreStudio.CommonTools.Result; namespace AMESCoreStudio.WebApi.Controllers.AMES { /// <summary> /// /// </summary> [Route("api/[controller]")] [ApiController] public class WipAttsController : Controller { private readonly AMESContext _context; /// <summary> /// /// </summary> /// <param name="context"></param> public WipAttsController(AMESContext context) { _context = context; } /// <summary> /// 查詢工單資料Att /// </summary> /// <returns></returns> // GET: api/WipAtts [HttpGet] public async Task<ActionResult<IEnumerable<WipAtt>>> GetWipAtt() { IQueryable<WipAtt> q = _context.WipAtts; q = q.OrderBy(p => p.WipNO); //q = q.OrderByDescending(p => p.SystemID); var WipAtt = await q.ToListAsync(); //return await _context.SystemInfoes.ToListAsync(); return WipAtt; } /// <summary> /// 查詢工單資料Att By WipNO /// </summary> /// <param name="id">工單號碼</param> /// <returns></returns> [HttpGet("{id}")] public async Task<ActionResult<WipAtt>> GetWipAtt(string id) { IQueryable<WipAtt> q = _context.WipAtts.Where(p => p.WipNO == id); var WipAtt = await q.ToListAsync(); return WipAtt.FirstOrDefault(); } /// <summary> /// 查詢工單資料Att By 料號 /// </summary> /// <param name="id">料號</param> /// <returns></returns> [HttpGet("ByItemNo/{id}")] public async Task<ActionResult<IEnumerable<WipAtt>>> GetWipAttByItemNo(string id) { IQueryable<WipAtt> q = _context.WipAtts.Where(p => p.ItemNO == id.Trim().ToUpper()); return await q.ToListAsync(); } /// <summary> /// 新增工單資料Att /// </summary> /// <param name="wipatt"></param> /// <returns></returns> [HttpPost] public async Task<ResultModel<WipAtt>> PostWipAtt([FromBody] WipAtt wipatt) { ResultModel<WipAtt> result = new ResultModel<WipAtt>(); try { _context.WipAtts.Add(wipatt); await _context.SaveChangesAsync(); result.Success = true; result.Msg = "OK"; } catch (Exception ex) { result.Success = false; result.Msg = ex.InnerException.Message; } return result; } /// <summary> /// 更新工單資料Att /// </summary> /// <param name="wipatt"></param> /// <returns></returns> [HttpPut] public async Task<ResultModel<WipAtt>> PutWipAtt(WipAtt wipatt) { ResultModel<WipAtt> result = new ResultModel<WipAtt>(); _context.Entry(wipatt).State = EntityState.Modified; _context.Entry<WipAtt>(wipatt).Property("CreateDate").IsModified = false; _context.Entry<WipAtt>(wipatt).Property("CreateUserID").IsModified = false; wipatt.UpdateDate = DateTime.Now; try { await _context.SaveChangesAsync(); result.Success = true; result.Msg = "OK"; } catch (Exception ex) { result.Success = false; result.Msg = ex.InnerException.Message; } return result; } } }