public bool AddConversation(string userId, ConversationViewModel conversation) { try { PrivateMessageBoard NewPrivateMsg = new PrivateMessageBoard() { CreateDate = DateTime.Now, Message = conversation.LastMessage, SendFromID = userId, RrecivedFromID = conversation.OtherID }; privateMessageBoardRepo.Insert(NewPrivateMsg); unitOfWork.Commit(); return(true); } catch (EntityException ex) { Debug.WriteLine(ex.Message); return(false); } finally { if (unitOfWork != null) { unitOfWork.Dispose(); } } }
internal static void RandomPrivateBoardMessages(this LendADogDemoDb context, int numberOfFriends, int messagesPerFriend) { List <DogOwner> dogOwners = context.DogOwners.ToList(); using (TransactionScope scope = new TransactionScope()) { using (context = new LendADogDemoDb()) { int a = 0; foreach (DogOwner sender in dogOwners) { a++; var randomFriends = context.DogOwners .SqlQuery("SELECT TOP(@numberOfRecords) * FROM AspNetUsers WHERE NOT Id = @Id ORDER BY NEWID();" , new SqlParameter("Id", sender.Id) , new SqlParameter("numberOfRecords", numberOfFriends)).ToList(); foreach (DogOwner receiver in randomFriends) { for (int i = 0; i < messagesPerFriend; i++) { PrivateMessageBoard sendMsg = new PrivateMessageBoard() { SendFromID = sender.Id, RrecivedFromID = receiver.Id, CreateDate = GetRandomDate(), Message = "Hi " + receiver.FirstName }; context.PrivateMessages.Add(sendMsg); PrivateMessageBoard RecMmsg = new PrivateMessageBoard() { SendFromID = receiver.Id, RrecivedFromID = sender.Id, CreateDate = GetRandomDate(), Message = "Hi " + sender.FirstName }; context.PrivateMessages.Add(RecMmsg); } } if (a % 10 == 0) { context.SaveChanges(); context.Dispose(); context = new LendADogDemoDb(); } } context.SaveChanges(); } scope.Complete(); } }