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); }
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("*******************************************************"); }