Example #1
0
        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());
            }
        }
Example #2
0
        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));
            }
        }
Example #3
0
        /// <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));
        }
Example #4
0
        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));
            }
        }