public static bool IsWorkDay(PXGraph graph, string CalendarID, DateTime Date) { PXResult <CSCalendar, CSCalendarExceptions> result = (PXResult <CSCalendar, CSCalendarExceptions>) PXSelectJoin < CSCalendar , LeftJoin <CSCalendarExceptions , On <CSCalendarExceptions.calendarID, Equal <CSCalendar.calendarID>, And <CSCalendarExceptions.date, Equal <Required <CSCalendarExceptions.date> > > > > , Where <CSCalendar.calendarID, Equal <Required <CSCalendar.calendarID> > > > .SelectWindowed(graph, 0, 1, Date, CalendarID); if (result != null) { CSCalendar calendar = result; CSCalendarExceptions exc = result; if (exc.Date != null) { return(exc.WorkDay == true); } else { return(calendar.IsWorkDay(Date)); } } return(true); }
public CalendarHelper(CSCalendar calendar, CSCalendarExceptions calendarException, DateTime date) { if (calendar == null) throw new ArgumentNullException("calendar"); this.calendar = calendar; this.calendarException = calendarException; this.date = date; }
public CalendarHelper(CSCalendar calendar, CSCalendarExceptions calendarException, DateTime date) { if (calendar == null) { throw new ArgumentNullException("calendar"); } this.calendar = calendar; this.calendarException = calendarException; this.date = date; }
public static bool IsWorkDay(PXGraph graph, string calendarID, DateTime date) { var select = SelectCalendar(graph, calendarID, date); if (select == null) { return(true); } CSCalendar calendar = select; CSCalendarExceptions exc = select; var result = exc.Date.HasValue ? exc.WorkDay == true : calendar.IsWorkDay(date); return(result); }
public static void CalculateStartEndTime(PXGraph graph, string calendarID, DateTime date, out DateTime startDate, out DateTime endDate) { CSCalendar calendar = PXSelect <CSCalendar> .Search <CSCalendar.calendarID>(graph, calendarID); if (calendar == null) { throw new InvalidOperationException(Messages.FailedToSelectCalenderId); } CSCalendarExceptions cse = PXSelect <CSCalendarExceptions> . Search <CSCalendarExceptions.calendarID, CSCalendarExceptions.date>(graph, calendarID, date); CalendarHelper helper = new CalendarHelper(calendar, cse, date); helper.CalculateStartEndTime(out startDate, out endDate); }
private static bool IsWarehouseDay(CSCalendar calendar, IEnumerable <CSCalendarExceptions> calendarExceptions, DateTime date) { bool isWarehouseDay = false; CSCalendarExceptions cse = calendarExceptions.Where(ce => ce.Date == date).SingleOrDefault(); if (cse != null) { isWarehouseDay = (cse.GoodsMoved == true); } else { switch (date.DayOfWeek) { case DayOfWeek.Sunday: isWarehouseDay = (calendar.SunGoodsMoves == true); break; case DayOfWeek.Monday: isWarehouseDay = (calendar.MonGoodsMoves == true); break; case DayOfWeek.Tuesday: isWarehouseDay = (calendar.TueGoodsMoves == true); break; case DayOfWeek.Wednesday: isWarehouseDay = (calendar.WedGoodsMoves == true); break; case DayOfWeek.Thursday: isWarehouseDay = (calendar.ThuGoodsMoves == true); break; case DayOfWeek.Friday: isWarehouseDay = (calendar.FriGoodsMoves == true); break; case DayOfWeek.Saturday: isWarehouseDay = (calendar.SatGoodsMoves == true); break; } } return(isWarehouseDay); }