Esempio n. 1
0
        static void Main(string[] args)
        {
            FiveMinutesJob fiveMinutesJob = new FiveMinutesJob();
            HourlyJob      hourlyJob      = new HourlyJob();
            DailyJob       dailyJob       = new DailyJob();
            MonthlyJob     monthlyJob     = new MonthlyJob();
            AnnualJob      annualJob      = new AnnualJob();

            try
            {
                Console.WriteLine("Starting Historian database service...");
                Console.WriteLine("************************************************************************Starting service");
                HistorianDBService historianDB = new HistorianDBService();

                historianDB.Start();

                string message = "\nPress <Enter> to stop the service.";
                Console.WriteLine(message);
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("Historian database failed.");
                Console.WriteLine(ex.StackTrace);
                Console.ReadLine();
            }
        }
        public async Task CheckOffensesInRange(string userID, DateTime startDate, DateTime endDate)
        {
            List <WorkingDay> workingDays = await GetWorkingDaysInRange(userID, startDate, endDate);

            DailyJob offensesChecker = new DailyJob(db);

            foreach (WorkingDay workingDay in workingDays)
            {
                if (workingDay.IsAbsent())
                {
                    if (workingDay.Offenses?.Any() ?? false)
                    {
                        await offenseRepository.RemoveAll(workingDay.Offenses);
                    }

                    // Check if is on vacation
                    if (!workingDay.User.GetCurrentVacationType(workingDay.Date).HasValue)
                    {
                        await offensesChecker.RecordDetectedOffense(workingDay.User, workingDay, OffenseDegree.Absence);
                    }
                }
                else
                {
                    await offensesChecker.CheckWorkingDayOffenses(workingDay);
                }
            }
        }
Esempio n. 3
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            DailyJob dailyJob = new DailyJob();

            dailyJob.RunDailyTasks();
            JobScheduler.Start();
        }
        public async Task CheckAbsencesInRange(string userID, DateTime startDate, DateTime endDate)
        {
            List <WorkingDay> workingDays = await GetWorkingDaysInRange(userID, startDate, endDate);

            DailyJob offensesChecker = new DailyJob(db);

            foreach (WorkingDay workingDay in workingDays.Where(workingDay => workingDay.IsAbsent()))
            {
                if (workingDay.Offenses?.Any() ?? false)
                {
                    await offenseRepository.RemoveAll(workingDay.Offenses);
                }
                await offensesChecker.RecordDetectedOffense(workingDay.User, workingDay, OffenseDegree.Absence);
            }
        }