public void Entrega_De_Favorecido_Deve_Ser_Considerada_Entrega_De_Beneficiario() { //Arrange Favorecido favorecido = _favorecidos.ElementAt(new Random().Next(_favorecidos.Count() - 1)); IEntregaPreProcessada entrega = LOMock.ConfiguraMockEntrega(favorecido.Profissional, DateTime.Now); foreach (var favorecimento in _favorecimentos) { //Assert Assert.DoesNotThrow(() => favorecimento.BeneficiarioDaEntregaEhFavorecido(entrega), "{0} lança uma exceção ao tentar checar se a entrega é de beneficiário", favorecimento.Tipo.Id); Assert.IsTrue(favorecimento.BeneficiarioDaEntregaEhFavorecido(entrega), "{0} não define corretamente se a entrega é de beneficiário", favorecimento.Tipo.Id); } }
public Remuneracao(IEntregaPreProcessada entrega, IRegraDeRemuneracao regra, Vinculacao historicoDeVinculacao, Dinheiro valorARemunerar) { if (entrega is IHoraRecebidaPreProcessada) { DataDoFaturamento = ((IHoraRecebidaPreProcessada)entrega).Faturamento.DataFaturamento; CompetenciaDoFaturamento = new CompetenciaMensal(DataDoFaturamento); } IdFavorecido = entrega.Beneficiario.Id; NomeFavorecido = entrega.Beneficiario.Nome; ValorBruto = valorARemunerar; Vinculacao = historicoDeVinculacao; RegraGeradora = regra; DataDaEntrega = entrega.DataDaEfetivacao; CompetenciaDaEntrega = new CompetenciaMensal(entrega.DataDaEfetivacao); IdEntrega = entrega.Id; TipoDaEntrega = entrega.Tipo; }
protected virtual IEnumerable <IEntregaPreProcessada> ConverteEntregaEmRemuneravel(EntregaDeHoraRecebida entrega) { IEnumerable <IEntregaPreProcessada> remuneraveis = entrega.Procedimentos.Select((proc) => { decimal percentualPermitido = 100.0M; IEnumerable <decimal> percentuais = ObtemModificacoesDasAcoesFeitasNoProcedimento(proc); percentualPermitido = proc.PercentualPermitido * (percentuais.Sum(p => p / 100.0M)); IEntregaPreProcessada remuneravel = entrega.Tipo.CriarEntregaPreProcessada(entrega, percentualPermitido, proc.DataDaOcorrencia, entrega.Competencia); remuneravel.Vinculacao.Adicionar(new Vinculo(Constantes.HISTORICO_TIPO_PROCEDIMENTO, proc.Id, proc.Tipo.ToString())); return(remuneravel); }); var remun = remuneraveis.ToList(); return(remuneraveis); }