public static async Task SaveEvent(EventImageUrl eventImage) { #region SaveAsync var exists = await ExistsAsync(eventImage.GameName, eventImage.ImageUrl); if (exists) { return; } try { await using var cmd = new MySqlCommand( $"INSERT INTO {Name} (`Game`, `Image`,`Timestamp`) VALUES (@game, @image, @timestamp)"); #pragma warning disable 618 cmd.Parameters?.AddWithValue("@game", eventImage.GameName); cmd.Parameters?.AddWithValue("@image", eventImage.ImageUrl); cmd.Parameters?.AddWithValue("@timestamp", TimeUtils.CurrentUnixTimestamp); #pragma warning restore 618 await ExecuteAsync(cmd); } catch (Exception exception) { Logger.Log(exception, Logger.ErrorLevel.Error); } #endregion }
public async Task <IActionResult> Post([FromBody] EventImageUrl value) { Resources.IncrementRequests(); if (!Constants.EventGames.Contains(value.GameName)) { return(BadRequest()); } if (Resources.EventCache.ContainsUrl(value.GameName, value.GetHost() + value.ImageUrl)) { return(Ok()); } var exists = await value.EventExists(); if (!exists) { return(NotFound()); } await EventDatabase.SaveEvent(value); Resources.EventCache.Update(); return(Ok()); }