private static CardExpirationEmailRemindersLogTableEntity GetReminderEmailForCardExpiration(string accountID, int daysTillExpiration) { CloudTableClient cloudTableClient = Sahara.Core.Settings.Azure.Storage.StorageConnections.PlatformStorage.CreateCloudTableClient(); //Create and set retry policy //IRetryPolicy exponentialRetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(1), 4); IRetryPolicy linearRetryPolicy = new LinearRetry(TimeSpan.FromSeconds(1), 3); cloudTableClient.DefaultRequestOptions.RetryPolicy = linearRetryPolicy; CloudTable cloudTable = cloudTableClient.GetTableReference(ReminderEmailsCardExpirationLogTableName); cloudTable.CreateIfNotExists(); TableQuery <CardExpirationEmailRemindersLogTableEntity> query = new TableQuery <CardExpirationEmailRemindersLogTableEntity>() .Where(TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, accountID), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, daysTillExpiration.ToString()) )); CardExpirationEmailRemindersLogTableEntity cardExirationReminderEmailLog = cloudTable.ExecuteQuery(query).FirstOrDefault(); return(cardExirationReminderEmailLog); }
private static bool StoreReminderEmailForCardExpiration(string accountID, string accountName, DateTime CardExirationDate, int daysTillExpiration) { var cardExirationReminderEmailLog = new CardExpirationEmailRemindersLogTableEntity(accountID, accountName, CardExirationDate, daysTillExpiration); TableOperation operation = TableOperation.Insert((cardExirationReminderEmailLog as TableEntity)); try { cardExirationReminderEmailLog.cloudTable.Execute(operation); return(true); } catch (Exception e) { //Log exception and email platform admins PlatformExceptionsHelper.LogExceptionAndAlertAdmins( e, "attempting to store reminder email for card expiration to table storage", System.Reflection.MethodBase.GetCurrentMethod(), accountID, accountName ); return(false); } }