/// <summary> /// calcula, baseado na quantidade de horas por dia e quantidade de dias úteis do mês, a quantidade de horas previstas nesse mês /// </summary> /// <param name="ano">int - ano</param> /// <param name="mes">int - mes</param> /// <param name="calendariosvc">ICalendarioServices - instância de um serviço de calendário para calcular se o dia é útil ou não</param> /// <returns>TimeSpan - horas previstas para o mês de referência dado</returns> public virtual TimeSpan GetPrevisto(int ano, int mes, ICalendarioServices calendariosvc) { var calendario = calendariosvc.GetCalendarioMes(ano, mes); TimeSpan result = new TimeSpan(8 * calendario.Where(d => d.Value).Count(), 0, 0); return(result); }
/// <summary> /// baseado no ano, mês e um serviço de calendário, calcula as horas previstas do mês /// </summary> /// <param name="ano">int - ano de referência</param> /// <param name="mes">it - mês de referência</param> /// <param name="calendariosvc">ICalendarioServices - instância de um serviço de calendário para calcular se o dia é útil ou não</param> /// <returns>TimeSpan - horas previstas até o dia atual</returns> public virtual TimeSpan GetPrevistoCorrente(int ano, int mes, ICalendarioServices calendariosvc) { var calendario = calendariosvc.GetCalendarioMes(ano, mes); TimeSpan result = new TimeSpan(8 * calendario.Where(d => d.Value && d.Key < DateTime.Today.AddDays(1)).Count(), 0, 0); return(result); }