예제 #1
0
        public static int ConvertDay(ScheduleDays day)
        {
            switch (day)
            {
            case ScheduleDays.None:
                return(0);

            case ScheduleDays.Sunday:
                return(1);

            case ScheduleDays.Monday:
                return(2);

            case ScheduleDays.Tuesday:
                return(3);

            case ScheduleDays.Wednesday:
                return(4);

            case ScheduleDays.Thursday:
                return(5);

            case ScheduleDays.Friday:
                return(6);

            case ScheduleDays.Saturday:
                return(7);
            }

            return(0);
        }
        private int GetStringFromScheduleDay(ScheduleDays day)
        {
            if (day == ScheduleDays.Monday)
            {
                return(1);
            }
            if (day == ScheduleDays.Tuesday)
            {
                return(2);
            }
            if (day == ScheduleDays.Wednesday)
            {
                return(3);
            }
            if (day == ScheduleDays.Thursday)
            {
                return(4);
            }
            if (day == ScheduleDays.Friday)
            {
                return(5);
            }
            if (day == ScheduleDays.Saturday)
            {
                return(6);
            }
            if (day == ScheduleDays.Sunday)
            {
                return(7);
            }

            throw new Exception("Day on schedule trigger out of range");
        }
예제 #3
0
 public ScheduleInfo(
     ScheduleMonths months = ScheduleMonths.All, ScheduleDays days = ScheduleDays.All, ScheduleTimes times = null)
 {
     Months = months;
     Days   = days;
     Times  = times ?? new ScheduleTimes();
 }
예제 #4
0
        protected virtual void SetDay(GumpButton button, ScheduleDays day)
        {
            if (Schedule == null)
            {
                Close();
                return;
            }

            switch (day)
            {
            case ScheduleDays.None:
                Schedule.Info.Days = ScheduleDays.None;
                break;

            case ScheduleDays.All:
                Schedule.Info.Days = ScheduleDays.All;
                break;

            default:
                Schedule.Info.Days ^= day;
                break;
            }

            Schedule.InvalidateNextTick();

            Refresh(true);
        }
예제 #5
0
파일: Info.cs 프로젝트: greeduomacro/RuneUO
		public ScheduleInfo(
			ScheduleMonths months = ScheduleMonths.All, ScheduleDays days = ScheduleDays.All, ScheduleTimes times = null)
		{
			Months = months;
			Days = days;
			Times = times ?? new ScheduleTimes();
		}
 public Schedule(int id, ScheduleActions action, ScheduleDays day, TimeSpan time, ScheduleRepeat repeat, int status)
 {
     this.id     = id;
     this.action = action;
     this.day    = day;
     this.time   = time;
     this.repeat = repeat;
     this.status = status;
 }
예제 #7
0
파일: Schedule.cs 프로젝트: LordEnigma/UO
 public Schedule(
     string name,
     bool enabled,
     ScheduleMonths months    = ScheduleMonths.None,
     ScheduleDays days        = ScheduleDays.None,
     ScheduleTimes times      = null,
     Action <Schedule> onTick = null)
     : this(name, enabled, new ScheduleInfo(months, days, times), onTick)
 {
 }
예제 #8
0
 public static Schedule CreateSchedule(
     string name,
     bool enabled              = true,
     bool register             = true,
     ScheduleMonths months     = ScheduleMonths.None,
     ScheduleDays days         = ScheduleDays.None,
     ScheduleTimes times       = null,
     Action <Schedule> handler = null)
 {
     return(CreateSchedule <Schedule>(name, enabled, register, new ScheduleInfo(months, days, times), handler));
 }
예제 #9
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            if (TimeSpan.Compare(EndTime, StartTime) < 1)
            {
                yield return(new ValidationResult("End time should be greater then start time", new[] { "EndTime" }));
            }

            if (!ScheduleDays.Any())
            {
                yield return(new ValidationResult("Atleast one weekday should be selected", new[] { "ScheduleDays" }));
            }
        }
예제 #10
0
        private ScheduleDays GetSelectedDays()
        {
            ScheduleDays scheduleDays = ScheduleDays.None;

            if (IsChecked(checkboxMonday))
            {
                scheduleDays |= ScheduleDays.Monday;
            }

            if (IsChecked(checkboxTuesday))
            {
                scheduleDays |= ScheduleDays.Tuesday;
            }

            if (IsChecked(checkboxWednesday))
            {
                scheduleDays |= ScheduleDays.Wednesday;
            }

            if (IsChecked(checkboxThursday))
            {
                scheduleDays |= ScheduleDays.Thursday;
            }

            if (IsChecked(checkboxFriday))
            {
                scheduleDays |= ScheduleDays.Friday;
            }

            if (IsChecked(checkboxSaturday))
            {
                scheduleDays |= ScheduleDays.Saturday;
            }

            if (IsChecked(checkboxSunday))
            {
                scheduleDays |= ScheduleDays.Sunday;
            }

            return(scheduleDays);
        }
        protected override Schedule CreateScheduleFromDefinition(BuildDefinition definition)
        {
            var bucket       = definition.Id % TotalBuckets;
            var startHours   = bucket / BucketsPerHour;
            var startMinutes = bucket % BucketsPerHour;
            var daysToBuild  = new ScheduleDays[] { ScheduleDays.Saturday, ScheduleDays.Sunday };
            var dayBucket    = definition.Id % daysToBuild.Length;

            var schedule = new Schedule
            {
                DaysToBuild             = daysToBuild[dayBucket],
                ScheduleOnlyWithChanges = true,
                StartHours   = FirstSchedulingHour + startHours,
                StartMinutes = startMinutes * BucketSizeInMinutes,
                TimeZoneId   = "Pacific Standard Time",
            };

            schedule.BranchFilters.Add($"+{Context.Branch}");

            return(schedule);
        }
예제 #12
0
		protected virtual void SetDay(GumpButton button, ScheduleDays day)
		{
			if (Schedule == null)
			{
				Close();
				return;
			}

			switch (day)
			{
				case ScheduleDays.None:
					Schedule.Info.Days = ScheduleDays.None;
					break;
				case ScheduleDays.All:
					Schedule.Info.Days = ScheduleDays.All;
					break;
				default:
					Schedule.Info.Days ^= day;
					break;
			}

			Schedule.InvalidateNextTick(DateTime.UtcNow);
			Refresh(true);
		}
예제 #13
0
파일: Schedule.cs 프로젝트: Ravenwolfe/Core
		public Schedule(
			string name,
			bool enabled,
			ScheduleMonths months = ScheduleMonths.None,
			ScheduleDays days = ScheduleDays.None,
			ScheduleTimes times = null,
			params Action<Schedule>[] onTick)
			: this(name, enabled, new ScheduleInfo(months, days, times), onTick)
		{ }
예제 #14
0
        public void UpdateTrigger(IEnumerable <Uri> buildDefinitions, DefinitionTriggerType triggerType, ScheduleDays scheduleDays, DateTime scheduleTime, TimeZoneInfo timeZoneInfo)
        {
            foreach (var bd in this.buildServer.QueryBuildDefinitionsByUri(buildDefinitions.ToArray()))
            {
                bd.TriggerType = triggerType;

                if (bd.Schedules.Any())
                {
                    bd.Schedules.Clear();
                }

                var schedule = bd.AddSchedule();
                schedule.DaysToBuild = scheduleDays;
                schedule.StartTime   = (int)scheduleTime.TimeOfDay.TotalSeconds;
                schedule.TimeZone    = timeZoneInfo;

                bd.Save();
            }
        }
예제 #15
0
파일: Info.cs 프로젝트: greeduomacro/RuneUO
		public virtual bool HasDay(ScheduleDays day)
		{
			return (Days & day) == day;
		}
예제 #16
0
 public virtual bool HasDay(ScheduleDays day)
 {
     return((Days & day) == day);
 }
예제 #17
0
 public void UpdateSchedule(EmployeeScheduleVM scheduleVM, CapstoneDBEntities db)
 {
     db.ScheduleDays.RemoveRange(ScheduleDays);
     ScheduleDays.Clear();
     if (scheduleVM.SundayStart.HasValue)
     {
         ScheduleDays.Add(new ScheduleDay
         {
             DayOfWeek = 0,
             StartTime = scheduleVM.SundayStart - scheduleVM.SundayStart.Value.Date,
         });
     }
     if (scheduleVM.MondayStart.HasValue)
     {
         ScheduleDays.Add(new ScheduleDay
         {
             DayOfWeek = 1,
             StartTime = scheduleVM.MondayStart - scheduleVM.MondayStart.Value.Date,
         });
     }
     if (scheduleVM.TuesdayStart.HasValue)
     {
         ScheduleDays.Add(new ScheduleDay
         {
             DayOfWeek = 2,
             StartTime = scheduleVM.TuesdayStart - scheduleVM.TuesdayStart.Value.Date,
         });
     }
     if (scheduleVM.WednesdayStart.HasValue)
     {
         ScheduleDays.Add(new ScheduleDay
         {
             DayOfWeek = 3,
             StartTime = scheduleVM.WednesdayStart - scheduleVM.WednesdayStart.Value.Date,
         });
     }
     if (scheduleVM.ThursdayStart.HasValue)
     {
         ScheduleDays.Add(new ScheduleDay
         {
             DayOfWeek = 4,
             StartTime = scheduleVM.ThursdayStart - scheduleVM.ThursdayStart.Value.Date,
         });
     }
     if (scheduleVM.FridayStart.HasValue)
     {
         ScheduleDays.Add(new ScheduleDay
         {
             DayOfWeek = 5,
             StartTime = scheduleVM.FridayStart - scheduleVM.FridayStart.Value.Date,
         });
     }
     if (scheduleVM.SaturdayStart.HasValue)
     {
         ScheduleDays.Add(new ScheduleDay
         {
             DayOfWeek = 6,
             StartTime = scheduleVM.SaturdayStart - scheduleVM.SaturdayStart.Value.Date,
         });
     }
 }
        private static DateTime GetNextScheduledDay(ScheduleDays scheduledDays)
        {
            DateTime nextDate = DateTime.Now.Date;
            if((scheduledDays & ScheduleDays.All) == ScheduleDays.All)
            {
                return nextDate;
            }

            // check for a week
            for (int i = 0; i < 7; i++)
            {
                if (i != 0)
                {
                    nextDate = nextDate.AddDays(1);
                }

                ScheduleDays curDay = ConvertToScheduleDays(nextDate.DayOfWeek);
                if ((scheduledDays & curDay) == curDay)
                {
                    return nextDate;
                }
            }

            return DateTime.MaxValue.Date;
        }
        public void UpdateTrigger(IEnumerable<Uri> buildDefinitions, DefinitionTriggerType triggerType, ScheduleDays scheduleDays, DateTime scheduleTime, TimeZoneInfo timeZoneInfo)
        {
            foreach (var bd in this.buildServer.QueryBuildDefinitionsByUri(buildDefinitions.ToArray()))
            {
                bd.TriggerType = triggerType;

                if (bd.Schedules.Any())
                {
                    bd.Schedules.Clear();
                }

                var schedule = bd.AddSchedule();
                schedule.DaysToBuild = scheduleDays;
                schedule.StartTime = (int)scheduleTime.TimeOfDay.TotalSeconds;
                schedule.TimeZone = timeZoneInfo;

                bd.Save();
            }
        }
예제 #20
0
 public virtual bool HasDay(ScheduleDays day)
 {
     return(Days.HasFlag(day));
 }
예제 #21
0
파일: Info.cs 프로젝트: Ravenwolfe/Core
		public virtual bool HasDay(ScheduleDays day)
		{
			return Days.HasFlag(day);
		}