예제 #1
0
        /// <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));
            }
        }
예제 #2
0
 public long Delete(ObjectId id)
 {
     try
     {
         return(_songRepository.DeleteById(id));
     }
     catch
     {
         throw new HttpResponseException(HttpStatusCode.BadRequest);
     }
 }