Example #1
0
    public SheetsService GetGoogleSpreadSheetService(IUoW uow, int clientId, string sheetId, int apiKeySecretId, int accountTypeId)
    {
        try
        {
            var clientAccount = uow.ClientAccountRepository
                                .Find(f => f.ClientId == clientId && f.AccountTypeId == accountTypeId && f.IsActive == true)
                                .FirstOrDefault();

            if (clientAccount != null)
            {
                var clientAPISecret = uow.ApiKeySecretRepository.Find(x => x.Id == apiKeySecretId).FirstOrDefault();
                if (clientAPISecret != null)
                {
                    var model = new GoogleUserCredential()
                    {
                        AccessToken     = clientAccount.AccessToken,
                        RefreshToken    = clientAccount.RefreshToken,
                        ClientId        = clientAPISecret.ClientId,
                        ClientSecret    = clientAPISecret.ClientSecret,
                        ApplicationName = "Flightdeck.Digital Service"
                    };
                    var serviceInitializer = Credential.GetGoogleServiceInitializer(model);
                    var service            = new SheetsService(serviceInitializer);
                    return(service);
                }
            }
        }
        catch (Exception ex)
        {
            GSheetReportingUtility.WriteLog($"GoogleSheet Service Error. Error Message is  {ex.Message}", GSheetReportingLogType.GSheetReportingService);
            //WriteLogException(ex, FDGoogleMyBusinessLogType.FDGoogleDataStudioService);
        }
        return(null);
    }