/// <summary> /// Remove a Song /// </summary> /// <remarks>Delete a Song</remarks> /// <response code="500">Internal Server Error</response> /// <response code="404">Not Found</response> /// <response code="400">Bad Request</response> /// <response code="200">Ok</response> /// <param name="id">Song Id</param> /// <returns>Status of operation</returns> public override IHttpActionResult Delete(int?id) { try { if (!id.HasValue) { return(Content(HttpStatusCode.BadRequest, new { message = "Invalid parameter.", status = HttpStatusCode.BadRequest })); } Song song = _repository.SelectById(id.Value); if (song == null) { return(Content(HttpStatusCode.NotFound, new { message = "The response didn't return any data.", status = HttpStatusCode.NotFound })); } _repository.DeleteById(id.Value); return(Content(HttpStatusCode.OK, new { message = "The item was successfully removed.", status = HttpStatusCode.OK })); } catch (Exception e) { return(InternalServerError(e)); } }
public long Delete(ObjectId id) { try { return(_songRepository.DeleteById(id)); } catch { throw new HttpResponseException(HttpStatusCode.BadRequest); } }