private bool isScheduleOverLap(firedumpdbDataSet.schedulesRow row, int day, int hour, int minute) { if (row.day == day && row.hours == hour && row.minutes == minute) { return(true); } return(false); }
internal void setSchedule(firedumpdbDataSet.schedulesRow schedulesRow) { this.schedulesRow = schedulesRow; }
private void Run() { //on comment i have no schedule so some kind of null exception raised and the service broke //CANT DEBUG/WRITELINE/LOG ON CONSOLE.WRITELINE a service! try { setUpScheduleList(); }catch (Exception ex) { File.AppendAllText(@"errorlog.txt", ex.ToString()); } //Sort scheduleRowList by date and take the nearest upcomming //malon panw anti gia Fill ena FillByDate query pou tha ta fernei etima me date order while (run) { ConfigurationManager.getInstance().initializeConfig(); Thread.Sleep(MILLISECS); try { //SAFE COMMENT ALL int day = (int)DateTime.Now.DayOfWeek; int hours = DateTime.Now.Hour; int minute = DateTime.Now.Minute; int second = DateTime.Now.Second; if (scheduleRowList.Count > 0 && day == scheduleRowList[0].day && hours == scheduleRowList[0].hours && minute == scheduleRowList[0].minutes) { //File.AppendAllText(@"errorlog.txt", " SAME " + '\n'); //inbounds same minute bool overlap = scheduleRowList[0].seconds <= second; if (overlap) { // File.AppendAllText(@"errorlog.txt", " overlap " + '\n'); int dif = second - scheduleRowList[0].seconds; if (dif <= 3) { //File.AppendAllText(@"errorlog.txt", " INTIME "+'\n'); schedulemanager = new ScheduleManager(); schedulemanager.setSchedule(scheduleRowList[0]); firedumpdbDataSet.schedulesRow row = scheduleRowList[0]; scheduleRowList.Remove(row); schedulemanager.Start(); scheduleQueue.Enqueue(schedulemanager); } } } //File.AppendAllText(@"errorlog.txt", " NEXTS "+ day+" "+ hours+" "+ minute+'\n'); //Refill if (scheduleRowList.Count == 0) { setUpScheduleList(); } } catch (Exception ex) { //write ex message to file File.AppendAllText(@"errorlog.txt", ex.ToString()); } } }
public void TestRun() { TestSetUpScheduleList(); for (int i = 0; i < schedules.Count; i++) { Console.WriteLine("name:" + schedules[i].name + ",day:" + schedules[i].day + ",hour:" + schedules[i].hours + ",minute:" + schedules[i].minutes + ",sec:" + schedules[i].seconds); } //for test int day = 0; int hours = 0; int minute = 10; int second = 10; int count = 0; while (true) { Console.WriteLine("Thread Sleeping..." + count); Thread.Sleep(2500); //int day = (int)DateTime.Now.DayOfWeek; //int hours = DateTime.Now.Hour; //int minute = DateTime.Now.Minute; //int second = DateTime.Now.Second; Console.WriteLine("BEFORECHECK:" + schedules.Count); //if is in day-hour-minute if ((schedules.Count > 0) && day == schedules[0].day && hours == schedules[0].hours && schedules[0].minutes == minute) { Console.WriteLine("day:" + schedules[0].day + ",hour:" + schedules[0].hours + ",minute:" + schedules[0].minutes + ",sec:" + schedules[0].seconds); //check if schedule is near now secs but not passed bool overlap = schedules[0].seconds <= second; Console.WriteLine("overlap:" + overlap); if (overlap) { //if yes, check if the difference between now and schedule is lessOrEqual to 3 int dif = second - schedules[0].seconds; Console.WriteLine("dif:" + dif); if (dif <= 3) { //if yes execute schedule and remove it from list ScheduleManager manager = new ScheduleManager(); Console.WriteLine(schedules[0].name); Console.WriteLine("INTIME" + "day:" + schedules[0].day + ",hour:" + schedules[0].hours + ",minute:" + schedules[0].minutes + ",sec:" + schedules[0].seconds); firedumpdbDataSet.schedulesRow row = schedules[0]; schedules.Remove(row); //break; if (count == 5) { day++; hours++; minute++; second++; second++; second++; second++; second++; } else { day++; hours++; minute++; second++; } } } } if (schedules.Count == 0) { //refill } if (count == 5) { break; } count++; } //no needed Assert.IsTrue(true); }