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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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;
            }
        }
Example #5
0
		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;
		}