示例#1
0
        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);
        }
示例#2
0
        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();
        }