public HttpResponseMessage Post([Bind(Exclude = "Id")][FromBody] List <CandidateTechnologyExcludeDTO> list)
 {
     try
     {
         if (ModelState.IsValid)
         {
             CandidateTechnologyRepository rep = new CandidateTechnologyRepository();
             foreach (CandidateTechnologyExcludeDTO entity in list)
             {
                 CandidateTechnology ent = new CandidateTechnology {
                     Id = 0, IdCandidate = entity.IdCandidate, IdTechnology = entity.IdTechnology
                 };
                 if (entity.Delete)
                 {
                     rep.DeleteByCandidate(ent);
                 }
                 else
                 {
                     rep.Insert(ent);
                 }
             }
             return(Request.CreateResponse(HttpStatusCode.OK, "Operação efetuada com sucesso!"));
         }
         else
         {
             return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
 public HttpResponseMessage Get([Bind(Include = "Id")] long Id)
 {
     try
     {
         if (ModelState.IsValid)
         {
             CandidateTechnologyRepository        rep  = new CandidateTechnologyRepository();
             IEnumerable <CandidateTechnologyDTO> list = Mapper.ToList <CandidateTechnologyDTO>(rep.GetAllByCandidate(Id));
             if (list != null && list.Count() > 0)
             {
                 return(Request.CreateResponse(HttpStatusCode.OK, list.Select(l => l.IdTechnology)));
             }
             else
             {
                 return(Request.CreateResponse(HttpStatusCode.NoContent));
             }
         }
         else
         {
             return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
 public HttpResponseMessage Delete([FromBody] List <CandidateTechnology> list)
 {
     try
     {
         foreach (CandidateTechnology entity in list)
         {
             CandidateTechnologyRepository rep = new CandidateTechnologyRepository();
             rep.DeleteByCandidate(entity);
         }
         return(Request.CreateResponse(HttpStatusCode.OK, "Operação efetuada com sucesso!"));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
 public HttpResponseMessage Get()
 {
     try
     {
         CandidateTechnologyRepository     rep  = new CandidateTechnologyRepository();
         IEnumerable <CandidateTechnology> list = Mapper.ToList <CandidateTechnology>(rep.GetAll());
         if (list != null && list.Count() > 0)
         {
             return(Request.CreateResponse(HttpStatusCode.OK, list));
         }
         else
         {
             return(Request.CreateResponse(HttpStatusCode.NoContent));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
 public HttpResponseMessage Put([FromBody] CandidateTechnology entity)
 {
     try
     {
         if (ModelState.IsValid)
         {
             CandidateTechnologyRepository rep = new CandidateTechnologyRepository();
             rep.Update(entity);
             return(Request.CreateResponse(HttpStatusCode.OK, "Operação efetuada com sucesso!"));
         }
         else
         {
             return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }