forked from adam/discord-bot-shtik
you know why its change is being tracked? because you have another db context.
This commit is contained in:
parent
c971add137
commit
d006367ecc
@ -236,8 +236,8 @@ public class DiscordInterface
|
||||
Channel c = Rememberer.SearchChannel(ci => ci.ExternalId == channel.Id.ToString() && ci.Protocol == PROTOCOL);
|
||||
if (c == null)
|
||||
{
|
||||
Console.WriteLine($"couldn't find channel under protocol {PROTOCOL} with externalId {channel.Id.ToString()}");
|
||||
c = new Channel();
|
||||
Console.WriteLine($"adding channel {channel.Name}");
|
||||
}
|
||||
|
||||
c.DisplayName = channel.Name;
|
||||
@ -298,6 +298,7 @@ public class DiscordInterface
|
||||
Channel c = Rememberer.SearchChannel(ci => ci.ExternalId == channel.Id.ToString() && ci.Protocol == PROTOCOL);
|
||||
if (c == null)
|
||||
{
|
||||
Console.WriteLine($"couldn't find channel under protocol {PROTOCOL} with externalId {channel.Id.ToString()}");
|
||||
c = new Channel();
|
||||
}
|
||||
|
||||
|
@ -36,23 +36,9 @@ public static class Rememberer
|
||||
try
|
||||
{
|
||||
var db = new ChattingContext();
|
||||
if (toRemember.Id == Guid.Empty)
|
||||
{
|
||||
var parentChannel = toRemember.SeenInChannel;
|
||||
var isUser = toRemember.IsUser;
|
||||
toRemember.SeenInChannel = null;
|
||||
toRemember.IsUser = null;
|
||||
db.Accounts.Add(toRemember);
|
||||
db.SaveChanges();
|
||||
|
||||
toRemember.SeenInChannel = parentChannel;
|
||||
toRemember.IsUser = isUser;
|
||||
db.SaveChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
db.Update(toRemember);
|
||||
db.ChangeTracker.Clear();
|
||||
db.SaveChanges();
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -65,19 +51,9 @@ public static class Rememberer
|
||||
try
|
||||
{
|
||||
var db = new ChattingContext();
|
||||
if (toRemember.Id == Guid.Empty)
|
||||
{
|
||||
var msg = toRemember.Message;
|
||||
toRemember.Message = null;
|
||||
db.Attachments.Add(toRemember);
|
||||
db.SaveChanges();
|
||||
toRemember.Message = msg;
|
||||
db.SaveChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
db.Update(toRemember);
|
||||
db.ChangeTracker.Clear();
|
||||
db.SaveChanges();
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -90,25 +66,8 @@ public static class Rememberer
|
||||
try
|
||||
{
|
||||
var db = new ChattingContext();
|
||||
if (toRemember.Id == Guid.Empty)
|
||||
{
|
||||
var parent = toRemember.ParentChannel;
|
||||
var subChannesl = toRemember.SubChannels;
|
||||
var msgs = toRemember.Messages;
|
||||
var accounts = toRemember.Users;
|
||||
toRemember.ParentChannel = null;
|
||||
toRemember.SubChannels = null;
|
||||
toRemember.Messages = null;
|
||||
toRemember.Users = null;
|
||||
db.Channels.Add(toRemember);
|
||||
db.SaveChanges();
|
||||
toRemember.ParentChannel = parent;
|
||||
toRemember.SubChannels = subChannesl;
|
||||
toRemember.Messages = msgs;
|
||||
toRemember.Users = accounts;
|
||||
db.SaveChanges();
|
||||
}
|
||||
|
||||
db.Update(toRemember);
|
||||
db.ChangeTracker.Clear();
|
||||
db.SaveChanges();
|
||||
}
|
||||
finally
|
||||
@ -123,21 +82,8 @@ public static class Rememberer
|
||||
try
|
||||
{
|
||||
var db = new ChattingContext();
|
||||
if (toRemember.Id == Guid.Empty)
|
||||
{
|
||||
var author = toRemember.Author;
|
||||
var channel = toRemember.Channel;
|
||||
var attachments = toRemember.Attachments;
|
||||
toRemember.Author = null;
|
||||
toRemember.Channel = null;
|
||||
toRemember.Attachments = null;
|
||||
db.Messages.Add(toRemember);
|
||||
db.SaveChanges();
|
||||
toRemember.Author = author;
|
||||
toRemember.Channel = channel;
|
||||
toRemember.Attachments = attachments;
|
||||
db.SaveChanges();
|
||||
}
|
||||
db.Update(toRemember);
|
||||
db.ChangeTracker.Clear();
|
||||
db.SaveChanges();
|
||||
}
|
||||
finally
|
||||
@ -151,19 +97,9 @@ public static class Rememberer
|
||||
try
|
||||
{
|
||||
var db = new ChattingContext();
|
||||
if (toRemember.Id == Guid.Empty)
|
||||
{
|
||||
var accs = toRemember.Accounts;
|
||||
toRemember.Accounts = null;
|
||||
db.Users.Add(toRemember);
|
||||
db.SaveChanges();
|
||||
toRemember.Accounts = accs;
|
||||
db.SaveChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
db.Users.Update(toRemember);
|
||||
db.ChangeTracker.Clear();
|
||||
db.SaveChanges();
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -177,6 +113,7 @@ public static class Rememberer
|
||||
{
|
||||
var db = new ChattingContext();
|
||||
db.Users.Remove(toForget);
|
||||
db.ChangeTracker.Clear();
|
||||
db.SaveChanges();
|
||||
}
|
||||
finally
|
||||
|
Loading…
Reference in New Issue
Block a user