コード例 #1
0
        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();
            };
        }
コード例 #2
0
        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()));
            }
        }
コード例 #3
0
 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();
     }
 }
コード例 #4
0
        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);
                }
            }
        }
コード例 #5
0
        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();
            }
        }