Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }