void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { timer.Stop(); using (var context = new TAS2013Entities()) { // If Service download data on specific times if (context.Options.FirstOrDefault().DownTime == true) { List <DownloadTime> _downloadTime = new List <DownloadTime>(); _downloadTime = context.DownloadTimes.ToList(); foreach (var item in _downloadTime) { // Add 2 minutes extra to download time TimeSpan _dwnTimeEnd = (TimeSpan)item.DownTime + new TimeSpan(0, 2, 0); if (DateTime.Now.TimeOfDay >= item.DownTime && DateTime.Now.TimeOfDay <= _dwnTimeEnd) { GlobalSettings._dateTime = Properties.Settings.Default.MyDateTime; //Download Data from Devices DownloadDataFromDevices(); //set Process = 1 where Date varies from ranges AdjustPollData(); //Prcoess PollData to Attendance Data ProcessAttendance pa = new ProcessAttendance(); pa.ProcessDailyAttendance(); DailySummaryClass dailysum = new DailySummaryClass(DateTime.Today.AddDays(-20), DateTime.Today); } /////////Process Monthly Attendance////////// TimeSpan monthlyTStart = new TimeSpan(18, 50, 0); TimeSpan monthlyTEnd = new TimeSpan(18, 52, 0); if (DateTime.Now.TimeOfDay >= monthlyTStart && DateTime.Now.TimeOfDay <= monthlyTEnd) { DailySummaryClass dailysum = new DailySummaryClass(DateTime.Today.AddDays(-20), DateTime.Today); //DailySummaryClass dailysum = new DailySummaryClass(new DateTime(2015, 07, 27), new DateTime(2015, 07, 27)); ////Correct Flags for monthly DateTime dtStart = DateTime.Today.AddDays(-2); DateTime dtend = DateTime.Today; CorrectAttEntriesWithWrongFlags(dtStart, dtend); ProcessMonthlyAttendance(); } } } else { } } } catch { } finally { timer.Start(); } }
///////////////---------TIMER CLICKED--------///////////////// void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { timer.Stop(); using (var context = new TAS2013Entities()) { // If Service run at specific times if (context.Options.FirstOrDefault().DownTime == true) { List <DownloadTime> _downloadTime = new List <DownloadTime>(); _downloadTime = context.DownloadTimes.ToList(); foreach (var item in _downloadTime) { // Add 2 minutes extra to download time TimeSpan _dwnTimeEnd = (TimeSpan)item.DownTime + new TimeSpan(0, 2, 0); if (DateTime.Now.TimeOfDay >= item.DownTime && DateTime.Now.TimeOfDay <= _dwnTimeEnd) { GlobalSettings._dateTime = Properties.Settings.Default.MyDateTime; //Download Data from Devices DownloadDataFromDevices(); //set Process = 1 in PollData where Date varies from Date ranges AdjustPollData(); //Prcoess PollData to Attendance Data ProcessAttendance pa = new ProcessAttendance(); pa.ProcessDailyAttendance(); } /////////--------Process Monthly Attendance-------////////// // Monthly Process will be run in between 11:50 PM to 11:51 PM TimeSpan monthlyTStart = new TimeSpan(23, 50, 0); TimeSpan monthlyTEnd = new TimeSpan(23, 51, 0); if (DateTime.Now.TimeOfDay >= monthlyTStart && DateTime.Now.TimeOfDay <= monthlyTEnd) { DateTime dtStart = DateTime.Today.AddDays(-2); DateTime dtend = DateTime.Today; //Correct Attendance Status for Monthly Process CorrectAttEntriesWithWrongFlags(dtStart, dtend); //Process Monthly Attendance for Permanent ProcessMonthlyAttForPermanentFF(); //Process Monthly Attendance for Contractuals ProcessMonthlyAttForContractualFF(); DateTime dateStart = DateTime.Today.AddDays(-10); DateTime dateEnd = DateTime.Today; // Process Attendance Data into Daily Summary DailySummaryClass ds = new DailySummaryClass(dateStart, dateEnd); //////////-------Set Device Data Time on Sundays Night------//////////// if (DateTime.Today.DayOfWeek == DayOfWeek.Sunday) { AdjustDateTimeOfDevices(); } } } ///-----------Process Manual Attendance Request--------//////////// ProcessManualAttendanceRequest(); } else { // if user wants to process the attendance without intervals } } } catch { } finally { timer.Start(); } }