Class Calendar
Namespace: Aspose.Tasks
Assembly: Aspose.Tasks.dll (25.2.0)
Representa um calendário usado em um projeto.
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Calendar
Herança
Membros Herdados
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Exemplos
Como criar um calendário simples do zero.
// cria um calendário vazio
Calendar calendar = new Calendar("Novo calendário");
// adiciona dias úteis padrão (8 horas de trabalho das 9:00 às 17:00)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
// cria um novo dia útil
WeekDay myWeekDay = new WeekDay(DayType.Thursday);
// Define o horário de trabalho. Apenas a parte do tempo de DateTime é importante
WorkingTime wt1 = new WorkingTime();
wt1.FromTime = new DateTime(1, 1, 1, 6, 0, 0, 0);
wt1.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0);
WorkingTime wt2 = new WorkingTime();
wt2.FromTime = new DateTime(1, 1, 1, 14, 0, 0, 0);
wt2.ToTime = new DateTime(1, 1, 1, 18, 0, 0, 0);
myWeekDay.WorkingTimes.Add(wt1);
myWeekDay.WorkingTimes.Add(wt2);
myWeekDay.DayWorking = true;
calendar.Days.Add(myWeekDay);
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday));
// adiciona o fim de semana
calendar.Days.Add(new WeekDay(DayType.Saturday));
calendar.Days.Add(new WeekDay(DayType.Sunday));
```````csharp
[VB]
' cria um calendário vazio
Dim calendar As Calendar = New Calendar("Novo calendário")
' adiciona dias úteis padrão (8 horas de trabalho das 9:00 às 17:00)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday))
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday))
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday))
' cria um novo dia útil
Dim myWeekDay As WeekDay = New WeekDay(DayType.Thursday)
' Define o horário de trabalho. Apenas a parte do tempo de DateTime é importante
Dim wt1 As WorkingTime = New WorkingTime()
wt1.FromTime = New DateTime(1, 1, 1, 6, 0, 0, 0)
wt1.ToTime = New DateTime(1, 1, 1, 12, 0, 0, 0)
Dim wt2 As WorkingTime = New WorkingTime()
wt2.FromTime = New DateTime(1, 1, 1, 14, 0, 0, 0)
wt2.ToTime = New DateTime(1, 1, 1, 18, 0, 0, 0)
myWeekDay.WorkingTimes.Add(wt1)
myWeekDay.WorkingTimes.Add(wt2)
myWeekDay.DayWorking = True
calendar.Days.Add(myWeekDay)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday))
' adiciona o fim de semana
calendar.Days.Add(New WeekDay(DayType.Saturday))
calendar.Days.Add(New WeekDay(DayType.Sunday))
Observações
Os calendários são usados para definir horários padrão de trabalho e não trabalho.
Os projetos devem ter um calendário base. Tarefas e recursos podem ter seus próprios calendários não baseados que são baseados em um calendário base.
Propriedades
BaseCalendar
Obtém ou define o calendário base do qual este calendário depende.
Aplicável apenas se o calendário não for um calendário base.
public Calendar BaseCalendar { get; set; }
Valor da Propriedade
Exceptions
Obtém o objeto CalendarExceptionCollection.
A coleção de exceções associadas ao calendário.
public CalendarExceptionCollection Exceptions { get; }
Valor da Propriedade
Guid
Obtém o Guid do calendário.
public string Guid { get; }
Valor da Propriedade
IsBaseCalendar
Obtém um valor indicando se o calendário é um calendário base.
public bool IsBaseCalendar { get; }
Valor da Propriedade
IsBaselineCalendar
Obtém ou define um valor indicando se o calendário é um calendário de linha de base.
public bool IsBaselineCalendar { get; set; }
Valor da Propriedade
Name
Obtém ou define o nome do calendário.
public string Name { get; set; }
Valor da Propriedade
Uid
Obtém ou define o identificador único do calendário.
public int Uid { get; set; }
Valor da Propriedade
WeekDays
Obtém a WeekDaysCollection para este calendário.
A coleção de dias da semana que define o calendário.
public WeekDayCollection WeekDays { get; }
Valor da Propriedade
WorkWeeks
Obtém o objeto WorkWeekCollections.
A coleção de semanas de trabalho associadas ao calendário.
public WorkWeekCollection WorkWeeks { get; }
Valor da Propriedade
Métodos
Delete()
Remove o calendário do projeto.
public void Delete()
Equals(object)
Retorna um valor indicando se esta instância é igual a um objeto especificado.
public override bool Equals(object obj)
Parâmetros
obj
object
O objeto a ser comparado com esta instância.
Retorna
True se o objeto for um Calendar que tem o mesmo valor de Uid que esta instância; caso contrário, false.
GetFinishDateByStartAndWork(DateTime, Duration)
Calcula a data em que a quantidade especificada de tempo de trabalho passará de acordo com o calendário.
public DateTime GetFinishDateByStartAndWork(DateTime start, Duration work)
Parâmetros
start
DateTime
Data de início.
work
Duration
Duração do trabalho.
Retorna
Data de término.
GetFinishDateByStartAndWork(DateTime, TimeSpan)
Calcula a data em que a quantidade especificada de tempo de trabalho passará de acordo com o calendário.
public DateTime GetFinishDateByStartAndWork(DateTime start, TimeSpan work)
Parâmetros
start
DateTime
Data de início.
work
TimeSpan
Duração do trabalho.
Retorna
Data de término.
GetHashCode()
Retorna um código de hash para a instância da classe.
public override int GetHashCode()
Retorna
um código de hash para este objeto.
GetNextWorkingDayStart(DateTime)
Calcula o início do próximo dia útil a partir da data.
public DateTime GetNextWorkingDayStart(DateTime date)
Parâmetros
date
DateTime
A data para obter o início do próximo dia útil.
Retorna
Início do próximo dia útil System.DateTime.
GetPreviousWorkingDayEnd(DateTime)
Calcula o fim do dia útil anterior a partir da data especificada.
public DateTime GetPreviousWorkingDayEnd(DateTime date)
Parâmetros
date
DateTime
A instância especificada da estrutura System.DateTime.
Retorna
Início do dia útil anterior System.DateTime
GetStartDateFromFinishAndDuration(DateTime, Duration)
Retorna a StartDate com base na FinishDate e Duration especificadas.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, Duration duration)
Parâmetros
finish
DateTime
A data de término especificada.
duration
Duration
A duração de trabalho especificada.
Retorna
StartDate calculada.
GetStartDateFromFinishAndDuration(DateTime, TimeSpan)
Retorna a StartDate com base na FinishDate e Duration especificadas.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, TimeSpan duration)
Parâmetros
finish
DateTime
A data de término especificada.
duration
TimeSpan
A duração de trabalho especificada.
Retorna
StartDate calculada.
GetTaskFinishDateFromDuration(Task, TimeSpan)
Calcula a data e hora de término da tarefa a partir de sua data de início, partes divididas e duração.
public DateTime GetTaskFinishDateFromDuration(Task task, TimeSpan duration)
Parâmetros
task
Task
A tarefa para a qual obter a data de término.
duration
TimeSpan
A duração da tarefa a ser dividida.
Retorna
Data de término da tarefa.
Observações
Retorna DateTime.MinValue se a tarefa for um resumo, nula ou se sua data de início não estiver definida.
GetWorkingHours(DateTime, DateTime)
Retorna as horas de trabalho para as datas especificadas.
public WorkUnit GetWorkingHours(DateTime start, DateTime finish)
Parâmetros
start
DateTime
Data de início.
finish
DateTime
Data de término.
Retorna
Horas de trabalho.
GetWorkingHours(DateTime)
Retorna a quantidade de horas de trabalho na data.
public TimeSpan GetWorkingHours(DateTime dt)
Parâmetros
dt
DateTime
A data para a qual obter as horas de trabalho.
Retorna
Horas de trabalho.
GetWorkingTimes(DateTime)
Retorna a Aspose.Tasks.WorkingTimeCollection de horários de trabalho para a data especificada.
public WorkingTimeCollection GetWorkingTimes(DateTime dt)
Parâmetros
dt
DateTime
A data para a qual obter os horários de trabalho.
Retorna
Lista de Aspose.Tasks.WorkingTime.
IsDayWorking(DateTime)
Determina se o dia é um dia útil.
public bool IsDayWorking(DateTime dt)
Parâmetros
dt
DateTime
A data para verificar se o dia é útil.
Retorna
True se o dia for um dia útil.
Make24HourCalendar(Calendar)
Transforma um Calendário dado em um Calendário de 24 Horas.
O Calendário de 24 Horas é um calendário em que todos os dias da semana são úteis com horários de trabalho ininterruptos.
public static Calendar Make24HourCalendar(Calendar calendar)
Parâmetros
calendar
Calendar
Calendário para transformar em um Calendário de 24 Horas.
Retorna
Calendário de 24 Horas.
MakeNightShiftCalendar(Calendar)
Transforma um Calendário dado em um Calendário de Turno da Noite.
public static Calendar MakeNightShiftCalendar(Calendar calendar)
Parâmetros
calendar
Calendar
Calendário para transformar em um Calendário de Turno da Noite.
Retorna
Calendário de Turno da Noite.
MakeStandardCalendar(Calendar)
Cria um calendário padrão padrão.
public static Calendar MakeStandardCalendar(Calendar calendar)
Parâmetros
calendar
Calendar
Calendário para transformar em um calendário padrão.
Retorna
Calendário com 5 dias úteis (segunda a sexta) com horários de trabalho das 8h às 12h e das 13h às 17h.