예제 #1
0
        private static TimeSpan CalcularSaldoHoras(CartaoPonto kevinCartaoPonto, bool exibeDetalhe)
        {
            var saldo         = new TimeSpan();
            var diaDescontado = new TimeSpan().Add(TimeSpan.FromHours(-8).Add(TimeSpan.FromMinutes(-59)));
            var setDesconto   = new TimeSpan().Add(TimeSpan.FromHours(-8));


            foreach (var item in kevinCartaoPonto.Batidas)
            {
                var diff = (item.DataSaida - item.DataEntrada);

                var timeSpan = diff.Add(TimeSpan.FromHours(-9));

                if (timeSpan > new TimeSpan(0, 10, 0) || timeSpan < new TimeSpan(0, -10, 0))
                {
                    if (timeSpan == diaDescontado)
                    {
                        timeSpan = setDesconto;// Se for uma Falta ou uma emenda, Desconta 8 horas para compensação
                    }
                    if (exibeDetalhe)
                    {
                        Console.WriteLine("*******************************************************");
                        Console.WriteLine($" Saldo de horas em: {item.DataEntrada.Date.ToShortDateString()} {timeSpan}     ");
                        Console.WriteLine("*******************************************************");
                    }

                    saldo += timeSpan;
                }
            }

            return(saldo);
        }
예제 #2
0
 private static void VisualizarEntradasESaidasRaw(CartaoPonto cartao)
 {
     Console.WriteLine("*******************************************************");
     foreach (var item in cartao.Batidas)
     {
         Console.WriteLine($"Dia: {item.DataEntrada.Date} Entrada: {item.DataEntrada.ToShortTimeString()} Saída: {item.DataSaida.ToShortTimeString()}     ");
     }
     Console.WriteLine("*******************************************************");
 }