示例#1
0
        public void LancamentoDeHoraCreation()
        {
            //Arrange
            var id = 1;
            var desenvolvedorId     = 1;
            var projetoTrabalhadoId = 1;
            var desenvolvedor       = new Desenvolvedor();
            var projeto             = new Projeto();
            var dataDeInicio        = new DateTime(2021, 1, 1);
            var dataFinal           = new DateTime(2021, 1, 1);
            var qtdDeHoras          = 20;

            //Act
            var lancamento = new LancamentoDeHora
            {
                Id = id,
                DesenvolvedorId     = desenvolvedorId,
                ProjetoTrabalhadoId = projetoTrabalhadoId,
                Desenvolvedor       = desenvolvedor,
                ProjetoTrabalhado   = projeto,
                DataDeInicio        = dataDeInicio,
                DataFinal           = dataFinal,
                QtdHorasTrabalhadas = qtdDeHoras
            };


            //Assert
            Assert.NotNull(lancamento);
        }
        public ActionResult <LancamentoDeHora> Post(
            [FromServices] DataContext context,
            [FromBody] LancamentoDeHora model)
        {
            try
            {
                var validaIdDesenvolvedor = context.Desenvolvedores
                                            .Any(x => x.Id == model.DesenvolvedorId) ? true : throw new Exception("Desenvolvedor não Existe!");
                var validaIdProjeto = context.Projetos
                                      .Any(x => x.Id == model.ProjetoTrabalhadoId) ? true : throw new Exception("Projeto não Existe!");

                if (ModelState.IsValid)
                {
                    context.Add(model);
                    context.SaveChanges();
                    return(Json(model));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        public ActionResult <List <object> > Get([FromServices] DataContext context)
        {
            try
            {
                var resultado = LancamentoDeHora.CalculaRankingDeHoras(context);

                return(resultado);
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }