This commit is contained in:
West14
2022-01-27 19:47:57 +02:00
7 changed files with 23 additions and 10 deletions
+14
View File
@@ -37,4 +37,18 @@ public static class DbContextExtension
entry.State = EntityState.Modified;
}
public static void AddOrUpdate(this DbContext dbContext, object entity)
{
try
{
dbContext.Update(entity);
dbContext.SaveChanges();
}
catch (DbUpdateConcurrencyException e)
{
dbContext.Add(entity);
dbContext.SaveChanges();
}
}
}
+1 -2
View File
@@ -71,8 +71,7 @@ namespace Kruzya.TelegramBot.Core
await databaseContext.Users.AddAsync(new BotUser()
{
ChatId = chat,
UserId = user,
BotUserId = new Guid()
UserId = user
});
}
}
+2 -2
View File
@@ -116,7 +116,7 @@ namespace West.TelegramBot.ChatManagement.Handler
_logger.LogDebug("Saving receiver rep with value: {Value}", receiverRepCount);
receiverRepOption.SetValue(receiverRepCount);
Db.Update(receiverRepOption);
Db.AddOrUpdate(receiverRepOption);
_logger.LogDebug("Updated value: {Value}", receiverRepOption.GetValue<double>());
await Reply($"{From.ToHtml()}<code>({await GetUserReputation(From)}) " +
@@ -141,7 +141,7 @@ namespace West.TelegramBot.ChatManagement.Handler
reputation = Math.Round(reputation, 2);
var opt = await GetReputationOption(RepliedUser);
opt.SetValue(reputation);
Db.Update(opt);
Db.AddOrUpdate(opt);
await Reply(
new HtmlString()
+1 -1
View File
@@ -19,7 +19,7 @@ namespace West.TelegramBot.ChatManagement.Handler
var opt = await Db.UserValues.FindOrCreateOption(Chat.Id, "rulesMsgId");
opt.SetValue(replyToMessage.MessageId);
Db.Update(opt);
Db.AddOrUpdate(opt);
}
[Command(InChat.Public, "rules", CommandParseMode.Both)]
+2 -2
View File
@@ -24,7 +24,7 @@ namespace West.TelegramBot.ChatManagement.Handler
var warnOption = await GetWarnOption(warnUser);
var warnCount = warnOption!.GetValue<int>() + 1;
warnOption.SetValue(warnCount);
Db.Update(warnOption);
Db.AddOrUpdate(warnOption);
await Bot.SendTextMessageAsync(Chat.Id, $"{warnUser.ToHtml()}<code>, Вам выдано предупреждение! " +
$"Текущее кол-во: {warnCount}/3</code>",
@@ -49,7 +49,7 @@ namespace West.TelegramBot.ChatManagement.Handler
warnCount = Math.Max(warnCount - 1, 0);
warnOption.SetValue(warnCount);
Db.Update(warnOption);
Db.AddOrUpdate(warnOption);
await Bot.SendTextMessageAsync(Chat.Id,
$"{RepliedUser.ToHtml()}<code>, с Вас снято предупреждение! " +
@@ -47,7 +47,7 @@ namespace West.Entertainment.Handler.Fun
var animationFileOption = await GetAnimationFileOption();
animationFileOption.SetValue(animation.FileId);
_db.Update(animationFileOption);
_db.AddOrUpdate(animationFileOption);
}
// ReSharper disable once MemberCanBeProtected.Global
@@ -77,7 +77,7 @@ namespace West.Entertainment.Handler.Fun
replyToMessageId: GetMessageIdToReply() ?? Message?.MessageId);
nextUseOption.SetValue(DateTime.Now + Cooldown);
_db.Update(nextUseOption);
_db.AddOrUpdate(nextUseOption);
return true;
}
+1 -1
View File
@@ -56,7 +56,7 @@ namespace UserGroupTag
tagDictionary[groupName] = memberList;
userGroupOption.SetValue(tagDictionary);
_db.Update(userGroupOption);
_db.AddOrUpdate(userGroupOption);
_userCache.SetValue(repliedMessage.From.Id, repliedMessage.From, Int32.MaxValue);
await Bot.SendTextMessageAsync(chatId, $"{from.ToHtml()} добавлен в группу {groupName}",