public IHttpActionResult PostTram(Tram tram) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Tram tmpTram1 = db.Trams.SingleOrDefault(u => u.KinhDo == tram.KinhDo && u.ViDo == tram.ViDo); if (tmpTram1 != null) { return(BadRequest()); } var tmpUser = db.UserBTSs.Find(tram.IDQuanLy); if (tmpUser == null) { return(NotFound()); } db.Trams.Add(tram); db.SaveChanges(); Tram tmpTram = db.Trams.SingleOrDefault(u => u.KinhDo == tram.KinhDo && u.ViDo == tram.ViDo); LichSuQuanLy lsql = new LichSuQuanLy { IDQuanLy = tmpUser.IDUser, IDTram = tmpTram.IDTram, ThoiGianLamViec = getDate() }; db.LichSuQuanLies.Add(lsql); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = tram.IDTram }, tram)); }
public IHttpActionResult GetLichSuQuanLy(int id) { LichSuQuanLy lichSuQuanLy = db.LichSuQuanLies.Find(id); if (lichSuQuanLy == null) { return(NotFound()); } return(Ok(lichSuQuanLy)); }
public IHttpActionResult DeleteTram(int id) { Tram tram = db.Trams.Find(id); if (tram == null) { return(NotFound()); } db.Trams.Remove(tram); LichSuQuanLy lsqlOld = db.LichSuQuanLies.SingleOrDefault(u => u.IDQuanLy == tram.IDQuanLy && u.IDTram == id); lsqlOld.ThoiGianKetThuc = getDate(); db.SaveChanges(); return(Ok(tram)); }
public IHttpActionResult PutTram(int id, Tram tram) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != tram.IDTram) { return(BadRequest()); } Tram tramBefore = db.Trams.Find(id); if (tramBefore == null) { return(NotFound()); } if (isAdmin()) { if (tram.CotTiepDat != tramBefore.CotTiepDat || tram.CotAnten != tramBefore.CotAnten || tram.SanTram != tramBefore.SanTram) { return(StatusCode(HttpStatusCode.Unauthorized)); } var tmpUser = db.UserBTSs.Find(tram.IDQuanLy); if (tmpUser == null) { return(NotFound()); } Tram tmpTram1 = db.Trams.SingleOrDefault(u => u.KinhDo == tram.KinhDo && u.ViDo == tram.ViDo); if (tmpTram1 != null && tmpTram1.IDTram != tramBefore.IDTram) { return(BadRequest()); } tramBefore.BanKinhPhuSong = tram.BanKinhPhuSong; tramBefore.KinhDo = tram.KinhDo; tramBefore.ViDo = tram.ViDo; tramBefore.TenTram = tram.TenTram; tramBefore.Tinh = tram.Tinh; if (tramBefore.IDQuanLy != tram.IDQuanLy) { LichSuQuanLy lsqlOld = db.LichSuQuanLies.SingleOrDefault(u => u.IDQuanLy == tramBefore.IDQuanLy && u.IDTram == id); lsqlOld.ThoiGianKetThuc = getDate(); tramBefore.IDQuanLy = tram.IDQuanLy; LichSuQuanLy lsqlNew = new LichSuQuanLy { IDQuanLy = tram.IDQuanLy, IDTram = tram.IDTram, ThoiGianLamViec = getDate() }; db.LichSuQuanLies.Add(lsqlNew); } db.SaveChanges(); } else { if (tram.TenTram != tramBefore.TenTram || tram.Tinh != tramBefore.Tinh || tram.KinhDo != tramBefore.KinhDo || tram.ViDo != tramBefore.ViDo || tram.IDQuanLy != tramBefore.IDQuanLy || tram.BanKinhPhuSong != tramBefore.BanKinhPhuSong) { return(StatusCode(HttpStatusCode.Unauthorized)); } if (!isAccess(tramBefore.IDQuanLy)) { return(StatusCode(HttpStatusCode.Unauthorized)); } tramBefore.CotAnten = tram.CotAnten; tramBefore.CotTiepDat = tram.CotTiepDat; tramBefore.SanTram = tram.SanTram; db.SaveChanges(); } return(StatusCode(HttpStatusCode.NoContent)); }