private static bool checkIfLastReportWasGenerated() { DateTime lastFriday = DateTime.Now.Previous(DayOfWeek.Friday); int dayOfYear = lastFriday.Date.DayOfYear; int year = lastFriday.Date.Year; bool isSuccessful = false; using (var context = new ChocAnDBModel()) { // Perform data access using the context var entry = context.Batches.Where(e => e.DayOfYear == dayOfYear & e.Year == year).FirstOrDefault(); if (entry != null) { isSuccessful = true; } } return(isSuccessful); }
private static void runBatch(int year, int month, int day) { DateTime end = new DateTime(year, month, day); DateTime start = end.AddDays(-7); IClaimService ClaimService = ServiceFactory.getClaimService(); var claims = ClaimService.getClaimsWithin(start, end); var claimsChecked = ClaimService.getCheckedClaimsWithin(start, end); foreach (Member m in from u in claims select u.Member) { processMemberWeeklyStatement(m, claims); } foreach (Provider p in from u in claims select u.Provider) { processProviderWeeklyStatement(p, claims); processEFT(p, claims); } foreach (Provider p in from u in claimsChecked select u.Provider) { processProviderWeeklyClaimCheckList(p, claimsChecked); } processWeeklySummaryReport(claims); using (var context = new ChocAnDBModel()) { // save batch details in the DB int dayOfYear = end.DayOfYear; Batch batchEntry = new Batch { DayOfYear = dayOfYear, Year = year }; context.Batches.Add(batchEntry); context.SaveChanges(); } //schedule next report batch ScheduleTask(); }