Esempio n. 1
0
 public AccountController(IOwinContext context, IQuartzTaskService quartzTaskService, ILogger logger)
 {
     this._userService           = context.GetUserManager <UserService>();
     this._roleService           = context.Get <RoleService>();
     this._signInService         = context.Get <SignInService>();
     this._authenticationService = context.Authentication;
 }
Esempio n. 2
0
 public AdminController(ICacheService cacheManager, IOwinContext context, IPermissionService permissionService, INavigationService navigationService, EFDbContext dbContext, ILogger logger, IAdminService adminService, IChinaAreaService chinaAreaService, IQuartzTaskService quartzTaskService)
 {
     this._cacheManager      = cacheManager;
     this._userService       = context.GetUserManager <UserService>();
     this._roleService       = context.Get <RoleService>();
     this._permissionService = permissionService;
     this._navigationService = navigationService;
     this._dbContext         = dbContext;
     this._logger            = logger;
     this._adminService      = adminService;
     this._chinaAreaService  = chinaAreaService;
     this._quartzTaskService = quartzTaskService;
 }
Esempio n. 3
0
        public void Execute(IJobExecutionContext context)
        {
            int        Id   = context.JobDetail.JobDataMap.GetInt("Id");
            QuartzTask task = TaskSchedulerFactory.GetScheduler().GetTask(Id);

            if (task == null)
            {
                throw new ArgumentException("Not found task :" + task.Name);
            }


            IQuartzTaskService quartzTaskService = DIContainer.Resolve <IQuartzTaskService>();

            task.IsRunning = true;
            DateTime lastStart = DateTime.Now;

            try
            {
                ITask excuteTask = (ITask)Activator.CreateInstance(Type.GetType(task.ClassType));
                excuteTask.Execute(task);
                task.LastIsSuccess = true;
            }
            catch (Exception)
            {
                task.LastIsSuccess = false;
            }

            task.IsRunning = false;

            task.LastStart = lastStart;
            if (context.NextFireTimeUtc.HasValue)
            {
                task.NextStart = context.NextFireTimeUtc.Value.LocalDateTime;
            }
            else
            {
                task.NextStart = null;
            }

            task.LastEnd = DateTime.Now;
            DIContainer.Resolve <ITaskScheduler>().SaveTaskStatus(task);
        }