public IHttpActionResult PostAdNoturno(AdNoturnoContratacao adNoturno)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.AdNoturnoContratacao.Add(adNoturno);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (AdNoturnoExists(adNoturno.CodContratacao, adNoturno.CodMesOrcamento, adNoturno.PercentualHoras))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = adNoturno.CodContratacao }, new AdNoturnoContratacaoDTO(adNoturno)));
        }
 public AdNoturnoContratacaoDTO(AdNoturnoContratacao a)
 {
     if (a == null)
     {
         return;
     }
     CodContratacao  = a.CodContratacao;
     CodMesOrcamento = a.CodMesOrcamento;
     PercentualHoras = a.PercentualHoras;
     QtdaHoras       = a.QtdaHoras;
 }
        public IHttpActionResult DeleteAdNoturno(int codContratacao, int mesOrcamento, int percentual)
        {
            AdNoturnoContratacao adNoturno = db.AdNoturnoContratacao.Find(codContratacao, mesOrcamento, percentual);

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

            AdNoturnoContratacaoDTO a = new AdNoturnoContratacaoDTO(adNoturno);

            db.AdNoturnoContratacao.Remove(adNoturno);
            db.SaveChanges();

            return(Ok(a));
        }
        public ContratacaoHNsDTO(Contratacao con, Ciclo c)
        {
            db = new Contexto();

            if (con == null || c == null)
            {
                return;
            }
            Codigo       = con.Codigo;
            Cargo        = con.Variaveis.Cargo.NomeCargo;
            CargaHoraria = con.CargaHoraria;

            HNs20 = new HashSet <QtdaHorasMesDTO>();
            HNs30 = new HashSet <QtdaHorasMesDTO>();
            HNs40 = new HashSet <QtdaHorasMesDTO>();
            HNs60 = new HashSet <QtdaHorasMesDTO>();
            HNs50 = new HashSet <QtdaHorasMesDTO>();
            int?qtda = 0;

            foreach (MesOrcamento m in c.MesesOrcamento.OrderBy(x => x.Mes))
            {
                AdNoturnoContratacao he = db.AdNoturnoContratacao.Find(con.Codigo, m.Codigo, 20);
                qtda = he == null ? 0 : he.QtdaHoras;
                ((HashSet <QtdaHorasMesDTO>)HNs20).Add(new QtdaHorasMesDTO
                {
                    CodMesOrcamento = m.Codigo,
                    Mes             = m.Mes,
                    QtdaHoras       = qtda.Value,
                    PercentualHoras = 20
                });

                he   = db.AdNoturnoContratacao.Find(con.Codigo, m.Codigo, 30);
                qtda = he == null ? 0 : he.QtdaHoras;
                ((HashSet <QtdaHorasMesDTO>)HNs30).Add(new QtdaHorasMesDTO
                {
                    CodMesOrcamento = m.Codigo,
                    Mes             = m.Mes,
                    QtdaHoras       = qtda.Value,
                    PercentualHoras = 30
                });

                he   = db.AdNoturnoContratacao.Find(con.Codigo, m.Codigo, 40);
                qtda = he == null ? 0 : he.QtdaHoras;
                ((HashSet <QtdaHorasMesDTO>)HNs40).Add(new QtdaHorasMesDTO
                {
                    CodMesOrcamento = m.Codigo,
                    Mes             = m.Mes,
                    QtdaHoras       = qtda.Value,
                    PercentualHoras = 40
                });

                he   = db.AdNoturnoContratacao.Find(con.Codigo, m.Codigo, 60);
                qtda = he == null ? 0 : he.QtdaHoras;
                ((HashSet <QtdaHorasMesDTO>)HNs60).Add(new QtdaHorasMesDTO
                {
                    CodMesOrcamento = m.Codigo,
                    Mes             = m.Mes,
                    QtdaHoras       = qtda.Value,
                    PercentualHoras = 60
                });

                he   = db.AdNoturnoContratacao.Find(con.Codigo, m.Codigo, 50);
                qtda = he == null ? 0 : he.QtdaHoras;
                ((HashSet <QtdaHorasMesDTO>)HNs50).Add(new QtdaHorasMesDTO
                {
                    CodMesOrcamento = m.Codigo,
                    Mes             = m.Mes,
                    QtdaHoras       = qtda.Value,
                    PercentualHoras = 50
                });
            }
        }
        public IHttpActionResult PutAdNoturno(int codContratacao, int mesOrcamento, int percentual, AdNoturnoContratacao adNoturno)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (codContratacao != adNoturno.CodContratacao || percentual != adNoturno.PercentualHoras || mesOrcamento != adNoturno.CodMesOrcamento)
            {
                return(BadRequest());
            }

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AdNoturnoExists(codContratacao, mesOrcamento, percentual))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }