Ejemplo n.º 1
0
        //Gửi tin nhắn từ khách hàng tới đối tượng cụ thể
        public async Task SendMessageFromClientToManager(string maNhanVien, string maKhachHang)
        {
            TinNhan tinNhanCuoi = await DataContext.TinNhans.Where(m => m.MaKhachHang == maKhachHang)
                                  .OrderByDescending(c => c.ThoiGianGui).FirstAsync();

            ConnectionIdUser connection = connections.Find(c => c.MaTaiKhoan == maNhanVien);

            if (connection != null && tinNhanCuoi != null)
            {
                KhachHang client = await DataContext.KhachHangs.Where(khachHang => khachHang.MaKhachHang == maKhachHang).FirstAsync();

                Clients.Client(connection.ConnectionId).addNewMessage(maKhachHang, tinNhanCuoi.NoiDung, tinNhanCuoi.ThoiGianGui.ToString("d dddd-M-yyyy"), client.Ten, client.DuongDanAnh);
            }
        }
Ejemplo n.º 2
0
        // Gửi tin nhắn cho người nhân viên hiện tại
        public async Task SendMassageFromDbToCurrentManagerBrower(string maTaiKhoan, string maKhachHang)
        {
            TinNhan tinNhanCuoi = await DataContext.TinNhans.Where(m => m.MaNhanVien == maTaiKhoan)
                                  .OrderByDescending(c => c.ThoiGianGui).FirstAsync();

            ConnectionIdUser connection = connections.Find(c => c.MaTaiKhoan == maTaiKhoan);

            if (connection != null && tinNhanCuoi != null)
            {
                NhanVien nhanVien = await DataContext.NhanViens.Where(n => n.MaNhanVien == maTaiKhoan).FirstAsync();

                Clients.Client(connection.ConnectionId).addNewMessageCurrentManagerBrower(maKhachHang, tinNhanCuoi.NoiDung, tinNhanCuoi.ThoiGianGui.ToString("d dddd-M-yyyy"), nhanVien.Ten, nhanVien.DuongDanAnh);
            }
        }
Ejemplo n.º 3
0
        public async Task SendMessageFromDbToCurrentClientBrower(string maTaiKhoan)
        {
            TinNhan tinNhanCuoi = await DataContext.TinNhans.Where(m => m.MaKhachHang == maTaiKhoan)
                                  .OrderByDescending(c => c.ThoiGianGui).FirstAsync();

            ConnectionIdUser connection = connections.Find(c => c.MaTaiKhoan == maTaiKhoan);

            if (connection != null && tinNhanCuoi != null)
            {
                KhachHang khachHang = await DataContext.KhachHangs.Where(k => k.MaKhachHang == maTaiKhoan).FirstAsync();

                Clients.Client(connection.ConnectionId).sendMassageFromDbToCurrentClientBrower(tinNhanCuoi.NoiDung, tinNhanCuoi.ThoiGianGui.ToString("d dddd-M-yyyy"), khachHang.DuongDanAnh);
            }
        }
Ejemplo n.º 4
0
        // Xóa connection Id khi người dùng ngắt kết nối
        public async Task DeleteConnectionId(string maTaiKhoan)
        {
            TaiKhoan taiKhoan = await DataContext.TaiKhoans.FindAsync(maTaiKhoan);

            if (taiKhoan != null)
            {
                ConnectionIdUser currentConnection = connections.First(connection => connection.MaTaiKhoan == taiKhoan.MaTaiKhoan);
                if (currentConnection != null)
                {
                    connections.Remove(currentConnection);
                }
                ConnectionIdUser currentUser = user.First(user => user.MaTaiKhoan == taiKhoan.MaTaiKhoan);
                if (currentUser != null)
                {
                    user.Remove(currentUser);
                }

                ConnectionIdUser currentManager = manager.First(manager => manager.MaTaiKhoan == taiKhoan.MaTaiKhoan);
                if (currentUser != null)
                {
                    manager.Remove(currentManager);
                }
            }
        }