forked from adam/discord-bot-shtik
issue cracked. now, apply rememberer to webinterface.
This commit is contained in:
parent
d006367ecc
commit
18e8f0f36e
@ -5,7 +5,7 @@ using vassago.Models;
|
|||||||
|
|
||||||
public static class Rememberer
|
public static class Rememberer
|
||||||
{
|
{
|
||||||
private static readonly SemaphoreSlim dbAccessSemaphore = new(1, 1);
|
private static readonly ChattingContext db = new();
|
||||||
public static Account SearchAccount(Expression<Func<Account, bool>> predicate)
|
public static Account SearchAccount(Expression<Func<Account, bool>> predicate)
|
||||||
{
|
{
|
||||||
return (new ChattingContext()).Accounts.FirstOrDefault(predicate);
|
return (new ChattingContext()).Accounts.FirstOrDefault(predicate);
|
||||||
@ -32,93 +32,38 @@ public static class Rememberer
|
|||||||
}
|
}
|
||||||
public static void RememberAccount(Account toRemember)
|
public static void RememberAccount(Account toRemember)
|
||||||
{
|
{
|
||||||
dbAccessSemaphore.Wait();
|
db.Update(toRemember);
|
||||||
try
|
db.SaveChanges();
|
||||||
{
|
|
||||||
var db = new ChattingContext();
|
|
||||||
db.Update(toRemember);
|
|
||||||
db.ChangeTracker.Clear();
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
dbAccessSemaphore.Release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static void RememberAttachment(Attachment toRemember)
|
public static void RememberAttachment(Attachment toRemember)
|
||||||
{
|
{
|
||||||
dbAccessSemaphore.Wait();
|
db.Update(toRemember);
|
||||||
try
|
|
||||||
{
|
db.SaveChanges();
|
||||||
var db = new ChattingContext();
|
|
||||||
db.Update(toRemember);
|
|
||||||
db.ChangeTracker.Clear();
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
dbAccessSemaphore.Release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static Channel RememberChannel(Channel toRemember)
|
public static Channel RememberChannel(Channel toRemember)
|
||||||
{
|
{
|
||||||
dbAccessSemaphore.Wait();
|
db.Update(toRemember);
|
||||||
try
|
|
||||||
{
|
db.SaveChanges();
|
||||||
var db = new ChattingContext();
|
|
||||||
db.Update(toRemember);
|
|
||||||
db.ChangeTracker.Clear();
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
dbAccessSemaphore.Release();
|
|
||||||
}
|
|
||||||
return toRemember;
|
return toRemember;
|
||||||
}
|
}
|
||||||
public static void RememberMessage(Message toRemember)
|
public static void RememberMessage(Message toRemember)
|
||||||
{
|
{
|
||||||
dbAccessSemaphore.Wait();
|
db.Update(toRemember);
|
||||||
try
|
|
||||||
{
|
db.SaveChanges();
|
||||||
var db = new ChattingContext();
|
|
||||||
db.Update(toRemember);
|
|
||||||
db.ChangeTracker.Clear();
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
dbAccessSemaphore.Release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static void RememberUser(User toRemember)
|
public static void RememberUser(User toRemember)
|
||||||
{
|
{
|
||||||
dbAccessSemaphore.Wait();
|
db.Users.Update(toRemember);
|
||||||
try
|
|
||||||
{
|
db.SaveChanges();
|
||||||
var db = new ChattingContext();
|
|
||||||
db.Users.Update(toRemember);
|
|
||||||
db.ChangeTracker.Clear();
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
dbAccessSemaphore.Release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static void ForgetUser(User toForget)
|
public static void ForgetUser(User toForget)
|
||||||
{
|
{
|
||||||
dbAccessSemaphore.Wait();
|
db.Users.Remove(toForget);
|
||||||
try
|
|
||||||
{
|
db.SaveChanges();
|
||||||
var db = new ChattingContext();
|
|
||||||
db.Users.Remove(toForget);
|
|
||||||
db.ChangeTracker.Clear();
|
|
||||||
db.SaveChanges();
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
dbAccessSemaphore.Release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user