Esempio n. 1
0
 private async Task RaiseInfractionCreatedAsync(long infractionId, InfractionCreationData data)
 {
     foreach (var handler in InfractionEventHandlers)
     {
         await handler.OnInfractionCreatedAsync(infractionId, data);
     }
 }
Esempio n. 2
0
        /// <inheritdoc />
        public async Task <long> CreateAsync(InfractionCreationData data)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            var entity = data.ToEntity();

            await ModixContext.Infractions.AddAsync(entity);

            await ModixContext.SaveChangesAsync();

            entity.CreateAction.InfractionId = entity.Id;
            await ModixContext.SaveChangesAsync();

            await RaiseInfractionCreatedAsync(entity.Id, data);

            await RaiseModerationActionCreatedAsync(entity.CreateActionId, new ModerationActionCreationData()
            {
                GuildId     = (ulong)entity.CreateAction.GuildId,
                Type        = entity.CreateAction.Type,
                Created     = entity.CreateAction.Created,
                CreatedById = (ulong)entity.CreateAction.CreatedById
            });

            return(entity.Id);
        }
        /// <inheritdoc />
        public Task OnInfractionCreatedAsync(long infractionId, InfractionCreationData data)
        {
            if (data.Duration != null)
            {
                SetNextUpdateTimerTrigger(data.Duration.Value);
            }

            return(Task.CompletedTask);
        }
        /// <inheritdoc />
        public Task OnInfractionCreatedAsync(long infractionId, InfractionCreationData data)
        {
            if (data.Duration is TimeSpan dataDuration &&
                (!UpdateTimer.Enabled ||
                 (DateTimeOffset.Now + dataDuration) < _nextTick))
            {
                SetNextUpdateTimerTrigger(dataDuration);
            }

            return(Task.CompletedTask);
        }
Esempio n. 5
0
        /// <inheritdoc />
        public async Task <long> CreateAsync(InfractionCreationData data)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            var entity = data.ToEntity();

            entity.Created = DateTimeOffset.Now;

            await ModixContext.Infractions.AddAsync(entity);

            await ModixContext.SaveChangesAsync();

            return(entity.Id);
        }
Esempio n. 6
0
        /// <inheritdoc />
        public async Task <long> CreateAsync(InfractionCreationData data)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            var entity = data.ToEntity();

            await ModixContext.Set <InfractionEntity>().AddAsync(entity);

            await ModixContext.SaveChangesAsync();

            entity.CreateAction.InfractionId = entity.Id;
            await ModixContext.SaveChangesAsync();

            await RaiseInfractionCreatedAsync(entity.Id, data);

            await RaiseModerationActionCreatedAsync(entity.CreateAction);

            return(entity.Id);
        }