Example #1
0
        public async Task Delete(string domain)
        {
            string connectionString = await _connectionInfo.GetConnectionStringAsync();

            await MySqlHelper.ExecuteNonQueryAsync(connectionString,
                                                   DkimSchedulerDaoResources.DeleteDkimRecord,
                                                   new MySqlParameter("id", domain));
        }
        public async Task Delete(string domain)
        {
            string connectionString = await _connectionInfoAsync.GetConnectionStringAsync();

            await MySqlHelper.ExecuteNonQueryAsync(connectionString,
                                                   SpfEntityDaoResouces.DeleteSpfEntity,
                                                   new MySqlParameter("domain", domain));
        }
Example #3
0
        public async Task Save(SpfSchedulerState state)
        {
            int numberOfRowsAffected = await MySqlHelper.ExecuteNonQueryAsync(
                await _connectionInfo.GetConnectionStringAsync(),
                SpfSchedulerDaoResources.InsertSpfRecord,
                new MySqlParameter("id", state.Id.ToLower()));

            if (numberOfRowsAffected == 0)
            {
                throw new InvalidOperationException($"Didn't save duplicate {nameof(SpfSchedulerState)} for {state.Id}");
            }
        }
Example #4
0
        public async Task Save(DkimHistoryEntityState state)
        {
            string connectionString = await _connectionInfoAsync.GetConnectionStringAsync();

            string serializedState = JsonConvert.SerializeObject(state, new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            });

            await MySqlHelper.ExecuteNonQueryAsync(connectionString,
                                                   DkimEntityHistoryDaoResouces.InsertDkimEntityHistory,
                                                   new MySqlParameter("domain", state.Id),
                                                   new MySqlParameter("state", serializedState));
        }
        public async Task WriteHistory(List <SpfEntityState> spfEntityStates)
        {
            string commandStart = "INSERT INTO `spf_entity_history`\r\n(`entity_id`,\r\n`state`)\r\nVALUES";

            string parameterNames = string.Join(",", spfEntityStates.Select((v, i) => $"(@domain{i}, @state{i})"));

            string command = $"{commandStart} {parameterNames};";

            MySqlParameter[] parameters = spfEntityStates.Select((v, i) => new List <MySqlParameter>
            {
                new MySqlParameter($"domain{i}", v.Id),
                new MySqlParameter($"state{i}", JsonConvert.SerializeObject(v))
            }).SelectMany(_ => _).ToArray();

            await MySqlHelper.ExecuteNonQueryAsync(_connectionInfo.ConnectionString, command, parameters);
        }
        public async Task Save(TlsRptEntityState state)
        {
            string connectionString = await _connectionInfoAsync.GetConnectionStringAsync();

            string serializedState = JsonConvert.SerializeObject(state);

            int rowsAffected = await MySqlHelper.ExecuteNonQueryAsync(connectionString, TlsRptEntityDaoResouces.InsertTlsRptEntity,
                                                                      new MySqlParameter("domain", state.Id),
                                                                      new MySqlParameter("version", state.Version),
                                                                      new MySqlParameter("state", serializedState));

            if (rowsAffected == 0)
            {
                throw new InvalidOperationException(
                          $"Didn't update TlsRptEntityState because version {state.Version} has already been persisted.");
            }
        }
        public async Task Save(DkimEntityState state)
        {
            string connectionString = await _connectionInfoAsync.GetConnectionStringAsync();

            string serializedState = JsonConvert.SerializeObject(state, new JsonSerializerSettings
            {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            });

            int rowsAffected = await MySqlHelper.ExecuteNonQueryAsync(connectionString,
                                                                      DkimEntityDaoResources.InsertDkimEntity,
                                                                      new MySqlParameter("domain", state.Id),
                                                                      new MySqlParameter("version", state.Version),
                                                                      new MySqlParameter("state", serializedState));

            if (rowsAffected == 0)
            {
                throw new InvalidOperationException(
                          $"Didn't update DkimEntityState because version {state.Version} has already been persisted.");
            }
        }
Example #8
0
 private Task TruncateDatabase() =>
 MySqlHelper.ExecuteNonQueryAsync(ConnectionString, "DELETE FROM spf_scheduled_records;");
Example #9
0
 private Task Insert(string domain, DateTime lastChecked) =>
 MySqlHelper.ExecuteNonQueryAsync(ConnectionString,
                                  @"INSERT INTO spf_scheduled_records (id, last_checked) VALUES (@domain, @last_checked)",
                                  new MySqlParameter("domain", domain),
                                  new MySqlParameter("last_checked", lastChecked));
Example #10
0
 private Task Insert(string domain) =>
 MySqlHelper.ExecuteNonQueryAsync(ConnectionString,
                                  @"INSERT INTO spf_scheduled_records (id, last_checked) VALUES (@domain, UTC_TIMESTAMP())",
                                  new MySqlParameter("domain", domain));