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); }