|
|
@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc; |
|
|
|
using Microsoft.EntityFrameworkCore; |
|
|
|
using AMESCoreStudio.WebApi; |
|
|
|
using AMESCoreStudio.WebApi.Models.BAS; |
|
|
|
using AMESCoreStudio.CommonTools.Result; |
|
|
|
|
|
|
|
namespace AMESCoreStudio.WebApi.Controllers.BAS |
|
|
|
{ |
|
|
@ -64,11 +65,6 @@ namespace AMESCoreStudio.WebApi.Controllers.BAS |
|
|
|
IQueryable<ClassInfo> q = _context.ClassInfoes; |
|
|
|
q = q.Where(p => p.ClassID.Equals(id)); |
|
|
|
var classInfo = await q.ToListAsync(); |
|
|
|
//foreach (var data in classInfo)
|
|
|
|
//{
|
|
|
|
// //data.Unit = _context.FactoryUnits.Find(data.UnitNo);
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
if (classInfo == null) |
|
|
|
{ |
|
|
@ -122,34 +118,33 @@ namespace AMESCoreStudio.WebApi.Controllers.BAS |
|
|
|
// To protect from overposting attacks, enable the specific properties you want to bind to, for
|
|
|
|
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
|
|
|
|
[HttpPut("{id}")] |
|
|
|
public async Task<ActionResult<ClassInfo>> PutClassInfo(int id, [FromBody] ClassInfo classInfo) |
|
|
|
public async Task<ResultModel<ClassInfo>> PutClassInfo(int id, [FromBody] ClassInfo classInfo) |
|
|
|
{ |
|
|
|
if (id != classInfo.ClassID) |
|
|
|
{ |
|
|
|
return BadRequest(); |
|
|
|
} |
|
|
|
ResultModel<ClassInfo> result = new ResultModel<ClassInfo>(); |
|
|
|
|
|
|
|
classInfo.UpdateDate = System.DateTime.Now; |
|
|
|
classInfo.StatusNo = "A"; |
|
|
|
if (id != classInfo.ClassID) |
|
|
|
{ |
|
|
|
result.Success = false; |
|
|
|
result.Msg = "序號錯誤"; |
|
|
|
return result; |
|
|
|
} |
|
|
|
_context.Entry(classInfo).State = EntityState.Modified; |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
await _context.SaveChangesAsync(); |
|
|
|
result.Success = true; |
|
|
|
result.Msg = "OK"; |
|
|
|
} |
|
|
|
catch (DbUpdateConcurrencyException) |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
if (!ClassInfoExists(id)) |
|
|
|
{ |
|
|
|
return NotFound(); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
throw; |
|
|
|
} |
|
|
|
result.Success = false; |
|
|
|
result.Msg = ex.InnerException.Message; |
|
|
|
} |
|
|
|
return result; |
|
|
|
|
|
|
|
return classInfo; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
@ -161,18 +156,30 @@ namespace AMESCoreStudio.WebApi.Controllers.BAS |
|
|
|
// To protect from overposting attacks, enable the specific properties you want to bind to, for
|
|
|
|
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
|
|
|
|
[HttpPost] |
|
|
|
public async Task<ActionResult<ClassInfo>> PostClassInfo(ClassInfo classInfo) |
|
|
|
public async Task<ResultModel<ClassInfo>> PostClassInfo(ClassInfo classInfo) |
|
|
|
{ |
|
|
|
ResultModel<ClassInfo> result = new ResultModel<ClassInfo>(); |
|
|
|
Helper helper = new Helper(_context); |
|
|
|
classInfo.ClassID = helper.GetIDKey("CLASS_ID").Result; |
|
|
|
classInfo.StatusNo = "A"; |
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(classInfo.ClassDesc)) |
|
|
|
classInfo.ClassDesc = " "; |
|
|
|
|
|
|
|
_context.ClassInfoes.Add(classInfo); |
|
|
|
await _context.SaveChangesAsync(); |
|
|
|
|
|
|
|
return CreatedAtAction("GetClassInfo", new { id = classInfo.ClassID }, classInfo); |
|
|
|
try |
|
|
|
{ |
|
|
|
await _context.SaveChangesAsync(); |
|
|
|
result.Success = true; |
|
|
|
result.Msg = "OK"; |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
result.Success = false; |
|
|
|
result.Msg = ex.InnerException.Message; |
|
|
|
} |
|
|
|
return result; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@ -183,48 +190,41 @@ namespace AMESCoreStudio.WebApi.Controllers.BAS |
|
|
|
/// <returns></returns>
|
|
|
|
// DELETE: api/ClassInfoes/5
|
|
|
|
[HttpDelete("{id}")] |
|
|
|
public async Task<ActionResult<ClassInfo>> DeleteClassInfo(int id) |
|
|
|
public async Task<ResultModel<ClassInfo>> DeleteClassInfo(int id) |
|
|
|
{ |
|
|
|
//var classInfo = await _context.ClassInfo.FindAsync(id);
|
|
|
|
ResultModel<ClassInfo> result = new ResultModel<ClassInfo>(); |
|
|
|
var classInfo = await _context.ClassInfoes.Where(m => m.ClassID == id).FirstOrDefaultAsync(); |
|
|
|
if (classInfo == null) |
|
|
|
{ |
|
|
|
return NotFound(); |
|
|
|
result.Success = false; |
|
|
|
result.Msg = "序號錯誤"; |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
//////
|
|
|
|
var classInfoNew = new ClassInfo(); |
|
|
|
classInfoNew = classInfo; |
|
|
|
|
|
|
|
_context.Entry(classInfoNew).State = EntityState.Modified; |
|
|
|
classInfoNew.StatusNo = "S"; |
|
|
|
|
|
|
|
if (classInfo.StatusNo == "A") |
|
|
|
classInfoNew.StatusNo = "S"; |
|
|
|
else |
|
|
|
classInfoNew.StatusNo = "A"; |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
await _context.SaveChangesAsync(); |
|
|
|
result.Success = true; |
|
|
|
result.Msg = "OK"; |
|
|
|
} |
|
|
|
catch (DbUpdateConcurrencyException) |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
if (!ClassInfoExists(id)) |
|
|
|
{ |
|
|
|
return NotFound(); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
throw; |
|
|
|
} |
|
|
|
result.Success = false; |
|
|
|
result.Msg = ex.InnerException.Message; |
|
|
|
} |
|
|
|
|
|
|
|
return classInfoNew; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/////
|
|
|
|
|
|
|
|
//_context.ClassInfoes.Remove(classInfo);
|
|
|
|
//await _context.SaveChangesAsync();
|
|
|
|
return result; |
|
|
|
|
|
|
|
//return classInfo;
|
|
|
|
} |
|
|
|
|
|
|
|
private bool ClassInfoExists(int id) |
|
|
|