public IHttpActionResult Delete(int id) { //Find and delete the band, return BandDto model of deleted entry band bandLib = entities.bands.Find(id); if (bandLib != null) { //Set up the return model var band = new BandDTO() { id = bandLib.id, name = bandLib.name }; //Remove band members first var members = entities.members.Where(m => m.bandId == bandLib.id); if (members != null) { foreach (member m in members) { entities.members.Remove(m); } } entities.bands.Remove(bandLib); entities.SaveChanges(); return(Ok(band)); } else { return(NotFound()); } }
public IHttpActionResult Post([FromBody] BandDTO dto) { try { Band band = _autoMapper.Map <BandDTO, Band>(dto); _repository.Insert(band); return(Created($"{Request.RequestUri}/{band.Id}", band)); } catch (Exception e) { return(InternalServerError(e)); } }
/// <summary> /// Get an Band by Id /// </summary> /// <param name="id">Band Id</param> /// <remarks>Return an Band</remarks> /// <response code="404">Not Found</response> /// <response code="400">Bad Request</response> /// <response code="200">Ok</response> /// <returns>Band object</returns> public override IHttpActionResult Get(int?id) { if (!id.HasValue) { return(Content(HttpStatusCode.BadRequest, new { message = "Invalid parameter.", status = HttpStatusCode.BadRequest })); } Band band = _repository.SelectById(id.Value); if (band == null) { return(Content(HttpStatusCode.NotFound, new { message = "The response didn't return any data.", status = HttpStatusCode.NotFound })); } BandDTO dto = _autoMapper.Map <Band, BandDTO>(band); return(Content(HttpStatusCode.OK, dto)); }
public IHttpActionResult Put(int?id, [FromBody] BandDTO dto) { try { if (!id.HasValue) { return(Content(HttpStatusCode.BadRequest, new { message = "The response didn't return any data.", status = HttpStatusCode.BadRequest })); } Band band = _autoMapper.Map <BandDTO, Band>(dto); band.Id = id.Value; _repository.Update(band); return(Content(HttpStatusCode.OK, new { message = "The item was successfully updated.", status = HttpStatusCode.OK })); } catch (Exception e) { return(InternalServerError(e)); } }