public async Task <IHttpActionResult> PostSpecia(Specia specia)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Specias.Add(specia);

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (SpeciaExists(specia.IDSpecia))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = specia.IDSpecia }, specia));
        }
        public async Task <IHttpActionResult> PutSpecia(int id, Specia specia)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != specia.IDSpecia)
            {
                return(BadRequest());
            }

            db.Entry(specia).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SpeciaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
 private SpeciaDTO ConvertToSpeciaDTO(Specia item)
 {
     return(new SpeciaDTO
     {
         Avatar = item.Avatar,
         IDSpecia = item.IDSpecia,
         Name = item.Name,
         TimeUse = item.TimeUse,
         Status = item.Status,
     });
 }
        public async Task <IHttpActionResult> GetSpecia(int id)
        {
            Specia specia = await db.Specias.FindAsync(id);

            if (specia == null)
            {
                return(NotFound());
            }

            return(Ok(ConvertToSpeciaDTO(specia)));
        }
        public async Task <IHttpActionResult> DeleteSpecia(int id)
        {
            Specia specia = await db.Specias.FindAsync(id);

            if (specia == null)
            {
                return(NotFound());
            }

            db.Specias.Remove(specia);
            await db.SaveChangesAsync();

            return(Ok(specia));
        }