public DrumDetailDto UpdateDrum(int drumId, DrumCreateDto drumDetail) { if (!DrumExists(drumId)) { throw new BadRequestException($"Drum with Id {drumId} doesn't exist.", BadRequestException.DRUM_DOESNT_EXISTS); } else { //get drum manager, site and status id DrumManager dm = _dbContext.DrumManagers.FirstOrDefault(d => d.Name == drumDetail.DrumManager); Site st = _dbContext.Sites.FirstOrDefault(s => s.Name == drumDetail.Site); Status sts = _dbContext.Status.FirstOrDefault(stt => stt.Status_name == drumDetail.Status); if (dm == null) { throw new BadRequestException($"Drum Manager with name {drumDetail.DrumManager} doesn't exist.", BadRequestException.WRONG_DRUM_MANAGER_NAME); } if (st == null) { throw new BadRequestException($"Drum Manager with name {drumDetail.Site} doesn't exist.", BadRequestException.WRONG_SITE_NAME); } if (sts == null) { throw new BadRequestException($"Drum Manager with name {drumDetail.Status} doesn't exist.", BadRequestException.WRONG_STATUS_NAME); } Drum drum = _dbContext.Drums.FirstOrDefault(d => d.Id.Equals(drumId)); drum.DrumNumber = drumDetail.DrumNumber; drum.DrumManager_Id = dm.Id; drum.Latitude = drumDetail.Latitude; drum.Longitude = drumDetail.Longitude; drum.InPositionSince = drumDetail.InPositionSince; drum.Site_Id = st.Id; drum.Status_Id = sts.Id; drum.LastStatusUpdate = DateTime.UtcNow; try { _dbContext.SaveChanges(); } catch (Exception ex) { throw new BadRequestException(ex.ToString()); } return(new DrumDetailDto { Id = drum.Id, DrumNumber = drum.DrumNumber, CreatedOn = drum.CreatedOn, InPositionSince = drum.InPositionSince, Latitude = drum.Latitude, Longitude = drum.Longitude, DrumManager = drum.DrumManager.Name, Site = drum.Site.Name, Status = drum.Status.Status_name, LastStatusUpdate = drum.LastStatusUpdate }); } }
public IHttpActionResult PostDrum(DrumCreateDto drum) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } DrumDetailDto CreateDrum = _drumService.CreatDrum(drum.DrumNumber, drum.DrumManager, drum.Site, drum.Status, drum.Latitude, drum.Longitude); return(Ok(CreateDrum)); }
public IHttpActionResult PutDrum(int id, DrumCreateDto drum) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } DrumDetailDto drumUp = _drumService.UpdateDrum(id, drum); return(Ok(drumUp)); }