Compare commits
	
		
			2 Commits
		
	
	
		
			554f73b550
			...
			a6dfe8712c
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a6dfe8712c | |||
| 973b2f81ea | 
| @@ -428,9 +428,30 @@ public class ChatRoomController( | |||||||
|             ResourceId = chatRoomResourceId |             ResourceId = chatRoomResourceId | ||||||
|         }); |         }); | ||||||
|  |  | ||||||
|  |         await using var transaction = await db.Database.BeginTransactionAsync(); | ||||||
|  |  | ||||||
|  |         try | ||||||
|  |         { | ||||||
|  |             var now = SystemClock.Instance.GetCurrentInstant(); | ||||||
|  |             await db.ChatMessages | ||||||
|  |                 .Where(m => m.ChatRoomId == id) | ||||||
|  |                 .ExecuteUpdateAsync(s => s.SetProperty(s => s.DeletedAt, now)); | ||||||
|  |             await db.ChatMembers | ||||||
|  |                 .Where(m => m.ChatRoomId == id) | ||||||
|  |                 .ExecuteUpdateAsync(s => s.SetProperty(s => s.DeletedAt, now)); | ||||||
|  |             await db.SaveChangesAsync(); | ||||||
|  |              | ||||||
|             db.ChatRooms.Remove(chatRoom); |             db.ChatRooms.Remove(chatRoom); | ||||||
|             await db.SaveChangesAsync(); |             await db.SaveChangesAsync(); | ||||||
|  |  | ||||||
|  |             await transaction.CommitAsync(); | ||||||
|  |         } | ||||||
|  |         catch (Exception) | ||||||
|  |         { | ||||||
|  |             await transaction.RollbackAsync(); | ||||||
|  |             throw; | ||||||
|  |         } | ||||||
|  |          | ||||||
|         _ = als.CreateActionLogAsync(new CreateActionLogRequest |         _ = als.CreateActionLogAsync(new CreateActionLogRequest | ||||||
|         { |         { | ||||||
|             Action = "chatrooms.delete", |             Action = "chatrooms.delete", | ||||||
|   | |||||||
| @@ -361,6 +361,7 @@ public partial class ChatService( | |||||||
|             .DistinctBy(x => x.Id) |             .DistinctBy(x => x.Id) | ||||||
|             .ToList(); |             .ToList(); | ||||||
|         messageSenders = await crs.LoadMemberAccounts(messageSenders); |         messageSenders = await crs.LoadMemberAccounts(messageSenders); | ||||||
|  |         messageSenders = messageSenders.Where(x => x.Account is not null).ToList(); | ||||||
|  |  | ||||||
|         foreach (var message in messages) |         foreach (var message in messages) | ||||||
|             message.Value!.Sender = messageSenders.First(x => x.Id == message.Value.SenderId); |             message.Value!.Sender = messageSenders.First(x => x.Id == message.Value.SenderId); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user