Пример #1
0
        public async Task <bool> Run(CancellationToken token, Logger log, Config config)
        {
            _log    = log;
            _config = config;

            ResgridV3ApiClient.Init(_config.ApiUrl, _config.Username, _config.Password);

            var departments = await DepartmentApi.Get(_config.CacheDepartmentId);

            foreach (var department in departments)
            {
                var departmentDataProvider = new DepartmentDataProvider(department);
                await departmentDataProvider.GetData(false);

                departmentDataProvider.Start(_config, log);
                _data.Add(department.Id, departmentDataProvider);
            }

            while (!token.IsCancellationRequested)
            {
                Thread.Sleep(500);
            }

            foreach (var item in _data)
            {
                item.Value.Stop();
            }

            return(true);
        }
        private User GetDepartmentChief(string departmentName)
        {
            Department  department = new DepartmentDataProvider().GetByName(departmentName);
            List <User> users      = new UserDataProvider().GetUserByRole("Sef");
            User        chief      = new User();

            foreach (var user in users)
            {
                if (user.DepartmentId == department.Id)
                {
                    chief = user;
                    break;
                }
            }

            return(chief);
        }