// POST api/Turmas
        public HttpResponseMessage PostTurma(Turma turma)
        {
            if ("Fulano".Equals(turma.Instrutor.Nome))
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Fulano");
            }
            if ("Ciclano".Equals(turma.Instrutor.Nome))
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Ciclano");
            }

            if (ModelState.IsValid)
            {
                if (turma.Treinamento.Id.HasValue)
                {
                    turma.Treinamento = db.Treinamentoes.Find(turma.Treinamento.Id);
                }
                if (turma.Instrutor.Id.HasValue)
                {
                    turma.Instrutor = db.Instrutors.Find(turma.Instrutor.Id);
                }
                turma = db.Turmas.Add(turma);
                db.SaveChanges();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, db.Turmas.Find(turma.Id));
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = turma.Id }));
                return response;
            }
            else
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }
        }
        // PUT api/Turmas/5
        public HttpResponseMessage PutTurma(long id, Turma turma)
        {
            if ("Fulano".Equals(turma.Instrutor.Nome))
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Fulano");
            }
            if ("Ciclano".Equals(turma.Instrutor.Nome))
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest, "Nome do instrutor não pode ser Ciclano");
            }

            if (ModelState.IsValid)
            {
                var entidade = db.Turmas.Find(id);
                entidade.Inicio = turma.Inicio;
                entidade.Fim = turma.Fim;
                if (turma.Treinamento.Id.HasValue)
                {
                    entidade.Treinamento = db.Treinamentoes.Find(turma.Treinamento.Id);
                }
                else
                {
                    entidade.Treinamento = new Treinamento { Nome = turma.Treinamento.Nome };
                }

                if (turma.Instrutor.Id.HasValue)
                {
                    entidade.Instrutor = db.Instrutors.Find(turma.Instrutor.Id);
                }
                else
                {
                    entidade.Instrutor = new Instrutor { Nome = turma.Instrutor.Nome };
                }

                //turma.Id = id;
                //db.Turmas.Attach(turma);
                //db.Entry(turma).State = EntityState.Modified;

                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return Request.CreateResponse(HttpStatusCode.NotFound);
                }

                return Request.CreateResponse(HttpStatusCode.OK, entidade);
            }
            else
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }
        }