public void LogUpdate(int unverifyTime, IUser fromUser, IUser toUser, IGuild guild) { var data = new UnverifyLogUpdate() { TimeFor = unverifyTime.ToString() }; Save(UnverifyLogOperation.Update, fromUser, toUser, guild, data); }
public async Task LogUpdateAsync(DateTime startDateTime, DateTime endDateTime, IGuild guild, IUser fromUser, IUser toUser) { var data = new UnverifyLogUpdate() { EndDateTime = endDateTime, StartDateTime = startDateTime }; var toUserEntity = await GrillBotRepository.UsersRepository.GetOrCreateUserAsync(guild.Id, toUser.Id, UsersIncludes.None); var fromUserEntity = await GrillBotRepository.UsersRepository.GetOrCreateUserAsync(guild.Id, fromUser.Id, UsersIncludes.None); await GrillBotRepository.CommitAsync(); GrillBotRepository.Detach(toUserEntity); GrillBotRepository.Detach(fromUserEntity); await SaveLogOperationAsync(UnverifyLogOperation.Update, data.ToJObject(), fromUserEntity.ID, toUserEntity.ID); }
public async Task <string> UpdateUnverifyAsync(int id, string time, SocketUser fromUser) { var unverifyTime = ParseUnverifyTime(time); var item = Data.Find(o => o.ID == id); if (item == null) { throw new ArgumentException($"Reset pro ID {id} nelze provést. Záznam nebyl nalezen"); } var guild = Client.GetGuild(item.GuildIDSnowflake); var user = await guild.GetUserFromGuildAsync(item.UserID).ConfigureAwait(false); var logData = new UnverifyLogUpdate() { TimeFor = $"{time} ({unverifyTime})" }; logData.SetUser(user); using (var repository = new GrillBotRepository(Config)) { await repository.TempUnverify.LogOperationAsync(UnverifyLogOperation.Update, fromUser, guild, logData).ConfigureAwait(false); await repository.TempUnverify.UpdateTimeAsync(id, unverifyTime).ConfigureAwait(false); } item.TimeFor = unverifyTime; item.StartAt = DateTime.Now; item.ReInitTimer(ReturnAccess); await user.SendPrivateMessageAsync(GetFormatedPrivateMessage(user, item, null, true)).ConfigureAwait(false); return($"Reset času pro záznam o dočasném odebrání přístupu s ID **{id}** byl úspěšně aktualizován. " + $"Role budou navráceny **{item.GetEndDatetime().ToLocaleDatetime()}**."); }