private DateTime?GetLasttUsingWeek() { DateTime dateFromActivity = new DateTime(1900, 1, 1); DateTime startDate = new DateTime(1900, 1, 1); EPTimeCard lastTimeCard = (EPTimeCard)PXSelectOrderBy <EPTimeCard, OrderBy <Desc <EPTimeCard.weekId> > > .SelectSingleBound(this, null); CRPMTimeActivity lastActivity = PXSelect <CRPMTimeActivity, Where <CRPMTimeActivity.weekID, IsNotNull, And <CRPMTimeActivity.trackTime, Equal <True>, And <CRPMTimeActivity.classID, NotEqual <CRActivityClass.emailRouting>, And <CRPMTimeActivity.classID, NotEqual <CRActivityClass.task>, And <CRPMTimeActivity.classID, NotEqual <CRActivityClass.events> > > > > >, OrderBy < Desc <CRPMTimeActivity.weekID> > > .SelectSingleBound(this, null); if (lastTimeCard != null) { startDate = PXWeekSelectorAttribute.GetWeekStartDate(lastTimeCard.WeekID.Value); } if (lastActivity != null) { dateFromActivity = lastActivity.StartDate.Value; } startDate = startDate >= dateFromActivity ? startDate : dateFromActivity; if (startDate == new DateTime(1900, 1, 1)) { return(null); } else { return(startDate); } }
private DateTime?GetLasttUsingWeek() { DateTime dateFromActivity = new DateTime(1900, 1, 1); DateTime startDate = new DateTime(1900, 1, 1); EPTimeCard lastTimeCard = (EPTimeCard)PXSelectOrderBy <EPTimeCard, OrderBy <Desc <EPTimeCard.weekId> > > .SelectSingleBound(this, null); EPActivity lastActivity = (EPActivity)PXSelect <EPActivity, Where <EPActivity.startDate, IsNotNull>, OrderBy <Desc <EPActivity.weekID> > > .SelectSingleBound(this, null); if (lastTimeCard != null) { startDate = PXWeekSelectorAttribute.GetWeekSrartDate(lastTimeCard.WeekID.Value); } if (lastActivity != null) { dateFromActivity = lastActivity.StartDate.Value; } startDate = startDate >= dateFromActivity ? startDate : dateFromActivity; if (startDate == new DateTime(1900, 1, 1)) { return(null); } else { return(startDate); } }
private DateTime?GetFirstUsingWeek() { DateTime?startDate = GetFirstActivityDate(); EPTimeCard firstTimeCard = (EPTimeCard)PXSelectOrderBy <EPTimeCard, OrderBy <Asc <EPTimeCard.weekId> > > .SelectSingleBound(this, null); if (firstTimeCard != null) { DateTime timecardStartDate = PXWeekSelectorAttribute.GetWeekStartDate(firstTimeCard.WeekID.Value); if (startDate == null) { startDate = timecardStartDate; } else { if (timecardStartDate < startDate.Value) { startDate = timecardStartDate; } } } return(startDate); }
private void GetNextUsingWeek(out DateTime startDate, out int number, out int year) { EPCustomWeek lastWeek = (EPCustomWeek)PXSelectOrderBy <EPCustomWeek, OrderBy <Desc <EPCustomWeek.weekID> > > .SelectSingleBound(this, null); if (lastWeek != null) { startDate = lastWeek.EndDate.Value.AddDays(1d); if (lastWeek.Number > 1 && lastWeek.StartDate.Value.Year < startDate.Year) { number = 1; } else { number = lastWeek.Number.Value + 1; } year = startDate.Year; } else { DateTime?First = GetFirstUsingWeek(); if (First != null) { startDate = (DateTime)First; } else if (WeekFilter.Current != null) { startDate = new DateTime(WeekFilter.Current.Year.Value, 1, 1); } else { startDate = new DateTime(Accessinfo.BusinessDate.Value.Year, 1, 1); } number = PXWeekSelectorAttribute.GetWeekID(startDate) % 100; year = PXWeekSelectorAttribute.GetWeekID(startDate) / 100; } }
public static EPWeekRaw ToEPWeekRaw(PXWeekSelectorAttribute.EPWeek week) { EPWeekRaw res = new EPWeekRaw(); res.EndDate = week.EndDate; res.StartDate = week.StartDate; res.WeekID = week.WeekID; res.Number = week.Number; res.ShortDescription = week.ShortDescription; res.Description = week.Description; res.FullNumber = week.FullNumber; res.IsFullWeek = true; res.IsActive = true; return res; }