private static async Task GetExpertsAsync() { Console.WriteLine(DateTime.Now + " Discovering..."); ulong.TryParse(VkAppId, out ulong id); if (id == 0) { Console.WriteLine(DateTime.Now + " Error getting VK application ID, please supply a numerical value of the application registered in VK."); return; } VkontakteApi vkontakteApi = new VkontakteApi(id, VkUserApiKey, VkServiceApiKey); await vkontakteApi.DiscoverAsync(); VkontakteBrw vkontakteBrw = new VkontakteBrw(Mobile); await vkontakteBrw.DiscoverAsync(); if (vkontakteApi.DiscoveringCompleted.IsSet && vkontakteBrw.DiscoveringCompleted.IsSet) { Console.WriteLine(DateTime.Now + " Discovering completed."); if (!string.IsNullOrEmpty(Groups)) { Console.WriteLine(DateTime.Now + " Collecting community data..."); List <VkApiUser> potentialExperts = await GetPotentialExpertsFromGroups(vkontakteApi, vkontakteBrw, Groups.Split(',')); Console.WriteLine(DateTime.Now + " Community data collected."); Console.WriteLine(DateTime.Now + " Potential experts found: " + potentialExperts.Count); Console.WriteLine(DateTime.Now + " Collected profiles: " + vkontakteBrw.CollectedProfiles); Console.WriteLine(DateTime.Now + " Non-public profiles: " + vkontakteBrw.NonPublicProfiles); Console.WriteLine(DateTime.Now + " Non-existing profiles: " + vkontakteBrw.NonExistingProfiles); Console.WriteLine(DateTime.Now + " Empty wall profiles: " + vkontakteBrw.EmptyWallProfiles); if (potentialExperts.Count > 0) { DataTable expertsTable = potentialExperts.ToDataTable(Groups); List <DataTable> reportData = new List <DataTable>(); reportData.Add(expertsTable); string exportPath = Path.GetDirectoryName(Environment.CurrentDirectory); ExpertReport expertReport = new ExpertReport("ПотенциальныеЭксперты", exportPath, reportData); expertReport.ExportToExcel(); } } else if (!string.IsNullOrEmpty(Users)) { throw new NotImplementedException(); } Console.WriteLine(DateTime.Now + " Finished."); } else { Console.WriteLine(DateTime.Now + " Cannot complete online services discovering, please check your Internet connection."); } }