public static async Task CreateMessageAsync(string accessToken, int userId, string message, bool isSound) { using (TruckGoEntities db = new TruckGoEntities()) { var bufferMessage = new Messages { UserID = userId, MessageContent = message, Opened = false, IsSound = isSound, CreateDate = DateTime.Now, State = true }; if (db.MessageRooms.FirstOrDefault(mr => mr.DriverUserID == userId) is MessageRooms room) { bufferMessage.MessageRoomID = room.MessageRoomID; db.Messages.Add(bufferMessage); } else { MessageRooms createdRoom = default; createdRoom = await CreateMessageRoom(accessToken); bufferMessage.MessageRoomID = createdRoom.MessageRoomID; db.Messages.Add(bufferMessage); } await db.SaveChangesAsync(); } }
public static async Task <MessageRooms> CreateMessageRoom(string accessToken) { MessageRooms room = default; using (TruckGoEntities db = new TruckGoEntities()) { var user = await GetUserByAccessToken(accessToken, db); room = new MessageRooms { CompanyID = user.CompanyID, DriverUserID = user.UserID, State = true, }; db.MessageRooms.Add(room); await db.SaveChangesAsync(); } return(room); }