Example #1
0
        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
        }
Example #2
0
        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());
        }