Class Calendar
Namespace: Aspose.Tasks
Assembly: Aspose.Tasks.dll (25.2.0)
Representa un calendario utilizado en un proyecto.
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Calendar
Herencia
Miembros heredados
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Ejemplos
Cómo crear un calendario simple desde cero.
// crear calendario vacío
Calendar calendar = new Calendar("Nuevo calendario");
// agrega días laborales predeterminados (8 horas laborales de 9:00 a 17:00)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
// crear nuevo día laboral
WeekDay myWeekDay = new WeekDay(DayType.Thursday);
// Establece el horario laboral. Solo la parte de tiempo de DateTime es 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));
// agrega fin de semana
calendar.Days.Add(new WeekDay(DayType.Saturday));
calendar.Days.Add(new WeekDay(DayType.Sunday));
vb ’ crear calendario vacío Dim calendar As Calendar = New Calendar(“Nuevo calendario”) ’ agrega días laborales predeterminados (8 horas laborales de 9:00 a 17:00) calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday)) calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday)) calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday)) ’ crear nuevo día laboral Dim myWeekDay As WeekDay = New WeekDay(DayType.Thursday) ’ Establece el horario laboral. Solo la parte de tiempo de DateTime es 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)) ’ agrega fin de semana calendar.Days.Add(New WeekDay(DayType.Saturday)) calendar.Days.Add(New WeekDay(DayType.Sunday))
## Observaciones
Los calendarios se utilizan para definir los horarios laborales y no laborales estándar.
Los proyectos deben tener un calendario base. Las tareas y recursos pueden tener sus propios calendarios no base que se basan en un calendario base.
## Propiedades
### <a id="Aspose_Tasks_Calendar_BaseCalendar"></a> BaseCalendar
Obtiene o establece el calendario base del cual depende este calendario.
Solo aplicable si el calendario no es un calendario base.
```csharp
public Calendar BaseCalendar { get; set; }
Valor de la propiedad
Exceptions
Obtiene el objeto CalendarExceptionCollection.
La colección de excepciones asociadas con el calendario.
public CalendarExceptionCollection Exceptions { get; }
Valor de la propiedad
Guid
Obtiene el Guid del calendario.
public string Guid { get; }
Valor de la propiedad
IsBaseCalendar
Obtiene un valor que indica si el calendario es un calendario base.
public bool IsBaseCalendar { get; }
Valor de la propiedad
IsBaselineCalendar
Obtiene o establece un valor que indica si el calendario es un calendario de referencia.
public bool IsBaselineCalendar { get; set; }
Valor de la propiedad
Name
Obtiene o establece el nombre del calendario.
public string Name { get; set; }
Valor de la propiedad
Uid
Obtiene o establece el identificador único del calendario.
public int Uid { get; set; }
Valor de la propiedad
WeekDays
Obtiene WeekDaysCollection para este calendario.
La colección de días de la semana que define el calendario.
public WeekDayCollection WeekDays { get; }
Valor de la propiedad
WorkWeeks
Obtiene el objeto WorkWeekCollections.
La colección de semanas laborales asociadas con el calendario.
public WorkWeekCollection WorkWeeks { get; }
Valor de la propiedad
Métodos
Delete()
Elimina el calendario del proyecto.
public void Delete()
Equals(object)
Devuelve un valor que indica si esta instancia es igual a un objeto especificado.
public override bool Equals(object obj)
Parámetros
obj
object
El objeto a comparar con esta instancia.
Devuelve
True si o es un Calendar que tiene el mismo valor de Uid que esta instancia; de lo contrario, false.
GetFinishDateByStartAndWork(DateTime, Duration)
Calcula la fecha en que pasará la cantidad especificada de tiempo de trabajo según el calendario.
public DateTime GetFinishDateByStartAndWork(DateTime start, Duration work)
Parámetros
start
DateTime
Fecha de inicio.
work
Duration
Duración del trabajo.
Devuelve
Fecha de finalización.
GetFinishDateByStartAndWork(DateTime, TimeSpan)
Calcula la fecha en que pasará la cantidad especificada de tiempo de trabajo según el calendario.
public DateTime GetFinishDateByStartAndWork(DateTime start, TimeSpan work)
Parámetros
start
DateTime
Fecha de inicio.
work
TimeSpan
Duración del trabajo.
Devuelve
Fecha de finalización.
GetHashCode()
Devuelve un código hash para la instancia de la clase.
public override int GetHashCode()
Devuelve
un código hash para este objeto.
GetNextWorkingDayStart(DateTime)
Calcula el inicio del siguiente día laboral a partir de la fecha.
public DateTime GetNextWorkingDayStart(DateTime date)
Parámetros
date
DateTime
La fecha para obtener el inicio del siguiente día laboral.
Devuelve
Inicio del siguiente día laboral System.DateTime.
GetPreviousWorkingDayEnd(DateTime)
Calcula el final del día laboral anterior a partir de la fecha especificada.
public DateTime GetPreviousWorkingDayEnd(DateTime date)
Parámetros
date
DateTime
la instancia especificada de la estructura System.DateTime.
Devuelve
Inicio del día laboral anterior System.DateTime
GetStartDateFromFinishAndDuration(DateTime, Duration)
Devuelve la fecha de inicio basada en la fecha de finalización y la duración especificadas.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, Duration duration)
Parámetros
finish
DateTime
La fecha de finalización especificada.
duration
Duration
La duración de trabajo especificada.
Devuelve
Fecha de inicio calculada.
GetStartDateFromFinishAndDuration(DateTime, TimeSpan)
Devuelve la fecha de inicio basada en la fecha de finalización y la duración especificadas.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, TimeSpan duration)
Parámetros
finish
DateTime
La fecha de finalización especificada.
duration
TimeSpan
La duración de trabajo especificada.
Devuelve
Fecha de inicio calculada.
GetTaskFinishDateFromDuration(Task, TimeSpan)
Calcula la fecha y hora de finalización de la tarea a partir de su fecha de inicio, partes divididas y la duración.
public DateTime GetTaskFinishDateFromDuration(Task task, TimeSpan duration)
Parámetros
task
Task
La tarea para obtener la fecha de finalización.
duration
TimeSpan
La duración de la tarea a dividir.
Devuelve
Fecha de finalización de la tarea.
Observaciones
Devuelve DateTime.MinValue si la tarea es un resumen, nula o su fecha de inicio no está establecida.
GetWorkingHours(DateTime, DateTime)
Devuelve las horas laborales para las fechas especificadas.
public WorkUnit GetWorkingHours(DateTime start, DateTime finish)
Parámetros
start
DateTime
Fecha de inicio.
finish
DateTime
Fecha de finalización.
Devuelve
Horas laborales.
GetWorkingHours(DateTime)
Devuelve la cantidad de horas laborales en la fecha.
public TimeSpan GetWorkingHours(DateTime dt)
Parámetros
dt
DateTime
La fecha para obtener las horas laborales.
Devuelve
Horas laborales.
GetWorkingTimes(DateTime)
Devuelve Aspose.Tasks.WorkingTimeCollection de los horarios laborales para la fecha especificada.
public WorkingTimeCollection GetWorkingTimes(DateTime dt)
Parámetros
dt
DateTime
La fecha para obtener los horarios laborales.
Devuelve
Lista de Aspose.Tasks.WorkingTime.
IsDayWorking(DateTime)
Determina si el día es un día laboral.
public bool IsDayWorking(DateTime dt)
Parámetros
dt
DateTime
La fecha para verificar si el día es laboral.
Devuelve
Verdadero si el día es un día laboral.
Make24HourCalendar(Calendar)
Convierte un Calendario dado en un Calendario de 24 Horas.
El Calendario de 24 Horas es un calendario en el que cada día de la semana es laboral con horario laboral ininterrumpido.
public static Calendar Make24HourCalendar(Calendar calendar)
Parámetros
calendar
Calendar
Calendario para convertir en un Calendario de 24 Horas.
Devuelve
Calendario de 24 Horas.
MakeNightShiftCalendar(Calendar)
Convierte un Calendario dado en un Calendario de Turno Nocturno.
public static Calendar MakeNightShiftCalendar(Calendar calendar)
Parámetros
calendar
Calendar
Calendario para convertir en un Calendario de Turno Nocturno.
Devuelve
Calendario de Turno Nocturno.
MakeStandardCalendar(Calendar)
Crea un calendario estándar predeterminado.
public static Calendar MakeStandardCalendar(Calendar calendar)
Parámetros
calendar
Calendar
Calendario para convertir en un calendario estándar.
Devuelve
Calendario con 5 días laborales (lunes a viernes) con horarios laborales de 8 a 12 y de 13 a 17.