public Task Execute(IJobExecutionContext context) { try { _logger.LogInformation("Начало синхронизации с Bitrix"); var iRPCSDbAccessor = new RPCSSingletonDbAccessor(_dbContextOptions); var rPCSRepositoryFactory = new RPCSRepositoryFactory(iRPCSDbAccessor); var userService = new UserService(rPCSRepositoryFactory, _httpContextAccessor); var budgetService = new BudgetLimitService(rPCSRepositoryFactory, userService); var departmentService = new DepartmentService(rPCSRepositoryFactory, userService); var employeeService = new EmployeeService(rPCSRepositoryFactory, departmentService, userService); var projectService = new ProjectService(rPCSRepositoryFactory, userService); var costSubItemService = new CostSubItemService(rPCSRepositoryFactory, userService); var expensesRecordService = new ExpensesRecordService(rPCSRepositoryFactory, _bitrixConfigOptions); var projectRoleService = new ProjectRoleService(rPCSRepositoryFactory); var taskSyncWithBitrix = new SyncWithBitrixTask(budgetService, _bitrixConfigOptions, employeeService, projectService, departmentService, costSubItemService, expensesRecordService, projectRoleService); string id = Guid.NewGuid().ToString(); BitrixSyncResult syncWithBitrixResult = null; if (taskSyncWithBitrix.Add(id, true) == true) { try { syncWithBitrixResult = taskSyncWithBitrix.ProcessLongRunningAction("", id); var fileHtmlReport = string.Empty; foreach (var html in syncWithBitrixResult.fileHtmlReport) { fileHtmlReport += html; } _memoryCache.Set(syncWithBitrixResult.fileId, fileHtmlReport); } catch (Exception) { } taskSyncWithBitrix.Remove(id); } } catch (Exception e) { string errorMessage = e.Message; _logger.LogError(e.Message); } _logger.LogInformation("Процесс синхронизации закончен!!"); return(Task.CompletedTask); }
public Task Execute(IJobExecutionContext context) { try { // репозиторий var iRPCSDbAccessor = (IRPCSDbAccessor) new RPCSSingletonDbAccessor(_dbContextOptions); var rPCSRepositoryFactory = new RPCSRepositoryFactory(iRPCSDbAccessor); // сервисы var employeeOrganisationService = new EmployeeOrganisationService(rPCSRepositoryFactory); var userService = new UserService(rPCSRepositoryFactory, _httpContextAccessor); var departmentService = new DepartmentService(rPCSRepositoryFactory, userService); var employeeService = new EmployeeService(rPCSRepositoryFactory, departmentService, userService); // инициализация var task = new DBDataProcessingTask(employeeOrganisationService, employeeService); string id = Guid.NewGuid().ToString(); DBDataProcessingTaskResult taskResult = null; if (task.Add(id, true) == true) { try { taskResult = task.ProcessLongRunningAction("", id); var fileHtmlReport = string.Empty; foreach (var html in taskResult.fileHtmlReport) { fileHtmlReport += html; } _memoryCache.Set(taskResult.fileId, fileHtmlReport); } catch (Exception ex) { } task.Remove(id); } } catch (Exception ex) { string errorMessage = ex.Message; } return(Task.CompletedTask); }