public async Task <CompanyData> GetCompanyData() { SetEnvironmentVariable.setFirestoreEnvironmentVariable(); CompanyData companyData = null; FirestoreDb db = FirestoreDb.Create(GetConstant.FIRESTORE_ID); Query CompanyDataQuery = db.Collection("CompanyData"); CancellationTokenSource cts = new CancellationTokenSource(); CancellationToken cancellationToken = cts.Token; QuerySnapshot CompanyDataQuerySnapshot; try { cts.CancelAfter(10000); CompanyDataQuerySnapshot = await CompanyDataQuery.GetSnapshotAsync(cancellationToken); } catch (OperationCanceledException) { Console.WriteLine("\r\nDownload canceled.\r\n"); return(null); } catch (AggregateException) { Console.WriteLine("\r\nDownload failed.\r\n"); return(null); } catch (Exception) { Console.WriteLine("\r\nDownload failed.\r\n"); return(null); } foreach (DocumentSnapshot documentSnapshot in CompanyDataQuerySnapshot.Documents) { Dictionary <string, object> companyDataDictionary = documentSnapshot.ToDictionary(); companyData = new CompanyData( companyDataDictionary["Address"].ToString(), companyDataDictionary["CompanyName"].ToString(), companyDataDictionary["Email"].ToString(), companyDataDictionary["PhoneNumber"].ToString(), companyDataDictionary["WebPageAddress"].ToString(), companyDataDictionary["CompanyLogo"].ToString(), companyDataDictionary["EmailSurename"].ToString(), StringEncoder.ReturnDecryptedPassword(companyDataDictionary["EmailPassword"].ToString()) ); } return(companyData); }