private void Btn_Send_Click(object sender, RoutedEventArgs e) { TextBlock tb = new TextBlock(); tb.Text = tb_message.Text; using (ChatDb db = new ChatDb()) { Text t = new Text() { TextValue = tb_message.Text }; var txt = db.Messages.Select(m => m.Texts); db.Texts.Add(t); Message message = db.Messages.Add(new Message() { Texts = db.Texts.Where(g => g.Id == 1).ToList() }); tb_message.Text = ""; tbpanel.Children.Add(tb); db.SaveChanges(); }; }
public Connections() { InitializeComponent(); ChatRoomWindow chatr = new ChatRoomWindow(); sender_name.Text = chatr.username; using (ChatDb l = new ChatDb()) { ChatRoom chat = new ChatRoom() /* Senders = s, Recievers = c.Messages.Select(d => d.Recievers.First()).ToList() */ } { ; Reciever r = new Reciever() { Chat = chat, Users = l.Users.Where(y => y.Login == chatr.username).ToList() }; Sender s = new Sender() { Chat = chat, Users = l.Users.Where(j => j.Id == 15).ToList() }; l.Senders.Add(s); l.Recievers.Add(r); l.ChatRooms.Add(chat); l.SaveChanges(); sender_img.Source = new BitmapImage(new Uri(l.Users.Where(n => n.Id == 15).Single().UserPhotoPath.ToString()));// .Select(j => j.UserPhotoPath).ToString())); // reciever_img.Source = new BitmapImage(new Uri(l.Users.Where(v=>v.Login==chatr.username).Single().UserPhotoPath.ToString())); } }
private void Btn_save_Click(object sender, RoutedEventArgs e) { if (!String.IsNullOrEmpty(btn_save.Content.ToString())) { User u = new User() { Login = tb_login.Text, Password = tb_password.Text, UserPhotoPath = tb_img.Text }; MainUser = u; using (ChatDb c = new ChatDb()) { c.Users.Add(u); c.SaveChanges(); } //this.DialogResult = true; ChatRoomWindow chatRoomWindow = new ChatRoomWindow(); chatRoomWindow.Show(); } }
public ChatRoomWindow() { InitializeComponent(); using (ChatDb c = new ChatDb()) { foreach (var item in c.Users) { Button b = new Button(); b.Background = Brushes.LightBlue; b.Foreground = Brushes.White; b.FontSize = 18; b.Content = item.Login; b.Click += Button_Click; st_users.Children.Add(b); } } }
public MainWindow() { InitializeComponent(); //https://code.msdn.microsoft.com/How-to-use-SqlDependency-5c0da0b3 // 3.Чат. //Краткое описание: Чат на основе базы данных.Клиентские приложения оставляют //сообщения на сервере баз данных в базе и забирают нужные им сообщения.Принцип //действия.Клиент подключается к серверу БД.При посылке сообщения программа вносит //запись в базу. Остальные клиенты, при проверке обновлений в БД, видят это сообщение и //забирают себе его. Таким образом, чат функционирует без серверной части. В базе хранятся //также списки контактов, история сообщений, история подключений. По запросу //пользователя, программа должна показать, статистику общения с различными //пользователями. //Рабочая среда: Локальная сеть. //База данных: Удаленная база данных на сервере, в пределах локальной сети. //Данные для хранения: пользователи, контакты, сообщения. //Пользователи: клиенты локальной сети. //Информация, поступающая в базу: новые пользователи, новые контакты, сообщения. //Отчеты: статистика интенсивности общения за указанный период. #region SQLDEPENDENCY //void Initialization() //{ // // Create a dependency connection. // SqlDependency.Start(connectionString, queueName); //} //void SomeMethod() //{ // // Assume connection is an open SqlConnection. // // Create a new SqlCommand object. // using (SqlCommand command = new SqlCommand( // "SELECT ShipperID, CompanyName, Phone FROM dbo.Shippers", // connection)) // { // // Create a dependency and associate it with the SqlCommand. // SqlDependency dependency = new SqlDependency(command); // // Maintain the reference in a class member. // // Subscribe to the SqlDependency event. // dependency.OnChange += new // OnChangeEventHandler(OnDependencyChange); // // Execute the command. // using (SqlDataReader reader = command.ExecuteReader()) // { // // Process the DataReader. // } // } //} //// Handler method //void OnDependencyChange(object sender, // SqlNotificationEventArgs e) //{ // // Handle the event (for example, invalidate this cache entry). //} //void Termination() //{ // // Release the dependency. // SqlDependency.Stop(connectionString, queueName); //} #endregion using (ChatDb ctx = new ChatDb()) { ctx.Users.Count(); ctx.SaveChanges(); } }