Ejemplo n.º 1
0
        public void ValorHoraExtraDeveSer30PorCentoDaHoraNormal()
        {
            var horaExtra  = 1;
            var folhaPonto = new FolhaPonto(PontoDigital.Obter(DateTime.Now.AddMonths(-1)).Generate(10));
            var pagamento  = new Pagamento(Funcionario.Obter().Generate(), folhaPonto);

            var valorHora = pagamento.CalcularHoraNormal(horaExtra);

            pagamento.CalcularHoraExtra(horaExtra).Should().Be(valorHora * 1.3m);
        }
Ejemplo n.º 2
0
        public void ValorDoCalculoHoraDeveSerCem()
        {
            var horasTrabalhadas = 10;
            var funcionario      = Funcionario.Obter().Generate();

            funcionario.ValorHora = 10;
            var folhaPonto = new FolhaPonto(PontoDigital.Obter(DateTime.Now.AddMonths(-1)).Generate(10));
            var pagamento  = new Pagamento(funcionario, folhaPonto);

            pagamento.CalcularHoraNormal(horasTrabalhadas).Should().Be(100);
        }
Ejemplo n.º 3
0
        public static FolhaPonto ReportarHoras(FolhaPonto folhaPonto)
        {
            var cargaHorariaNormal = 0D;
            var cargaExtra         = 0D;

            foreach (var ponto in folhaPonto)
            {
                cargaHorariaNormal += ponto.ObterCargaHoraria();
                if (ponto.TemHoraExtra())
                {
                    cargaExtra += ponto.ObterCargaExtra();
                }
            }

            folhaPonto.InformarCarga(cargaHorariaNormal, cargaExtra);
            return(folhaPonto);
        }
Ejemplo n.º 4
0
        public static Pagamento CalcularPagamento(FolhaPonto folhaPonto)
        {
            var valorTotalHoraNormal = 0m;
            var valorTotalExtra      = 0m;
            var pagamento            = new Pagamento(folhaPonto.Funcionario, folhaPonto);

            foreach (var ponto in folhaPonto)
            {
                var cargaHorariaDoDia = ponto.ObterCargaHoraria();
                valorTotalHoraNormal = pagamento.CalcularHoraNormal(cargaHorariaDoDia);
                if (ponto.TemHoraExtra())
                {
                    var cargaExtra = ponto.ObterCargaExtra();
                    valorTotalExtra += pagamento.CalcularHoraExtra(cargaExtra);
                }
            }

            pagamento.PagoEm = new DateTime(folhaPonto.Inicio.Year, folhaPonto.Inicio.Month, 5);
            pagamento.InformarSalario(valorTotalHoraNormal, valorTotalExtra);
            return(pagamento);
        }
Ejemplo n.º 5
0
 public Fechamento Adicionar(FolhaPonto folhaPonto)
 {
     FolhaPonto = folhaPonto;
     return(this);
 }
Ejemplo n.º 6
0
        private FolhaPonto RelatoHoras(DateTime inicioCiclo)
        {
            var folhaPonto = FolhaPonto.ComputarPeriodo(_funcionario, inicioCiclo);

            return(RelatorioHoras.ReportarHoras(folhaPonto));
        }
Ejemplo n.º 7
0
        private Pagamento CalcularPagamento(DateTime inicioCiclo)
        {
            var folhaPonto = FolhaPonto.ComputarPeriodo(_funcionario, inicioCiclo);

            return(CalculadoraPagamento.CalcularPagamento(folhaPonto));
        }