示例#1
0
        public void Deve_Adicionar_Desconto_a_Remuneracao_Por_Favorecido(IFechamentoDeRemuneracao fechamentoDeRemuneracao, Dinheiro desconto, Dinheiro bonus)
        {
            //Arrange
            Initialize(fechamentoDeRemuneracao);

            //Act
            _diretor.AplicaAjustesA(fechamentoDeRemuneracao.Id, desconto, bonus).Wait();
            IFechamentoDeRemuneracao remuneracoesAjustada = _repositorio.ObtemFechamento(fechamentoDeRemuneracao.Id).WaitForResult();
            int numeroDeFavorecidos = remuneracoesAjustada.LancamentosDeRemuneracao.Select(lanc => lanc.IdFavorecido).Distinct().Count();

            //Assert
            Assert.AreEqual(1, numeroDeFavorecidos);
        }
        public async Task <IActionResult> Post(int idFechamento, [FromBody] JObject parametroDeAjustes)
        {
            IFechamentoDeRemuneracao fechamentoDeRemuneracao;

            try
            {
                //IEnumerable<IFechamentoDeRemuneracao> fechamentos = ExtrairFechamentos(parametroParaAjustes["fechamentos"].ToString());
                Dinheiro desconto = ExtrairDinheiro(parametroDeAjustes["desconto"].ToString());
                Dinheiro bonus    = ExtrairDinheiro(parametroDeAjustes["bonus"].ToString());

                fechamentoDeRemuneracao = await _diretorDeRevisao.AplicaAjustesA(idFechamento, desconto, bonus);

                //string cacheNomeDoFavorecido = fechamentos.First().LancamentosDeRemuneracao.First().NomeFavorecido;
                //fechamentoDeRemuneracao.LancamentosDeRemuneracao.First().NomeFavorecido = cacheNomeDoFavorecido;
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }

            return(base.Ok(fechamentoDeRemuneracao));
        }