Example #1
0
 private void tb_Gui_Click(object sender, EventArgs e)
 {
     attach = null;
     try
     {
         FileInfo file = new FileInfo(tb_DinhKem.Text);
         attach = new Attachment(tb_DinhKem.Text);
     }
     catch { }
     //DataTable data = KhachHangBUS.Instance.HienThi();
     if (hdflat == 0)
     {
         foreach (DataRow item in data.Rows)
         {
             tb_NguoiNhan.Text = item["Gmail"].ToString();
             int MaKH = int.Parse(item["MaKH"].ToString());
             GuiMail(tb_TenDangNhap.Text, tb_NguoiNhan.Text, tb_ChuDe.Text, tb_NoiDung.Text, attach);
             TinNhan tn = TinNhanBUS.Instance.DocThongTin(MaTN);
             tn.NoiDung = tb_NoiDung.Text;
             tn.ChuDe   = tb_ChuDe.Text;
             TinNhanBUS.Instance.Sua(tn);
             TinNhan_KhachHang tnkh = new TinNhan_KhachHang(MaTN, MaKH);
             TinNhan_KhachHangBUS.Instance.Them(tnkh);
         }
     }
     else
     {
         GuiMail(tb_TenDangNhap.Text, tb_NguoiNhan.Text, tb_ChuDe.Text, tb_NoiDung.Text, attach);
         hdflat = 0;
     }
     MessageBox.Show("Đã gửi xong.");
     this.Hide();
 }
        public static List <TinNhan> GetTinNhanNhanDaXoa(string maSinhVien)
        {
            using (var db = new UMS_HUSCEntities())
            {
                var list       = new List <TinNhan>();
                var maTaiKhoan = SinhVienDao.GetMaTaiKhoan(maSinhVien);
                var tinDaNhan  = db.VTinNhanDaNhans.Where(n => n.MaNguoiNhan == maTaiKhoan && n.TrangThai == TINNHAN_TAM_XOA).ToList();

                foreach (var item in tinDaNhan)
                {
                    string temp = HttpUtility.HtmlDecode(item.NoiDung);
                    item.NoiDung = temp.Replace("\r\n", "")
                                   .Replace("style=\"", "style='")
                                   .Replace("href=\"", "href='")
                                   .Replace("\">", "'>")
                                   .Replace(";\"", ";'")
                                   .Replace("\"", "&quot;");
                    item.TieuDe = HttpUtility.HtmlDecode(item.TieuDe).Replace("\r\n", "");

                    TinNhan tinNhan = new TinNhan()
                    {
                        MaTinNhan     = item.MaTinNhan,
                        MaNguoiGui    = item.MaNguoiGui,
                        HoTenNguoiGui = item.HoTenNguoiGui,
                        TieuDe        = item.TieuDe,
                        NoiDung       = item.NoiDung,
                        ThoiDiemGui   = item.ThoiDiemGui,
                        NguoiNhans    = GetAllNguoiNhan(item.MaTinNhan)
                    };

                    list.Add(tinNhan);
                }
                return(list.OrderBy(t => t.ThoiDiemGui).ToList());
            }
        }
Example #3
0
        private void cb_SanPham_SelectionChangeCommitted(object sender, EventArgs e)
        {
            tb_MaSP.Text = cb_TenSP.SelectedValue.ToString();
            int pMaTN = TinNhanBUS.Instance.TimMaTN(int.Parse(tb_MaSP.Text), GetWeekOrderInYear(DateTime.Today.Date), int.Parse(DateTime.Today.Year.ToString()));

            MaTN_public = pMaTN;
            if (pMaTN == -1)
            {
                pMaTN       = TinNhanBUS.Instance.AutoID();
                MaTN_public = pMaTN;
                TinNhan tn = new TinNhan(TinNhanBUS.Instance.AutoID(), int.Parse(tb_MaSP.Text), GetWeekOrderInYear(DateTime.Today.Date), int.Parse(DateTime.Today.Year.ToString()), "", "");
                TinNhanBUS.Instance.Them(tn);
            }

            dtgv_KhachHang.DataSource = TinNhan_KhachHangBUS.Instance.KhachHangChuaGuiMail(pMaTN);
            dttb = TinNhan_KhachHangBUS.Instance.KhachHangChuaGuiMail(pMaTN);
            int i = 0;

            foreach (DataRow item in dttb.Rows)
            {
                i = i + 1;
            }
            if (i == 0)
            {
                bt_GuiMail.Enabled = false;
            }
            else
            {
                bt_GuiMail.Enabled = true;
            }
        }
Example #4
0
        public bool Sua(TinNhan tn)
        {
            string query = "Update TinNhan set ChuDe = @ChuDe , NoiDung = @NoiDung Where MaTN = @MaTN ";

            object[] para = new object[] { tn.ChuDe, tn.NoiDung, tn.MaTN };
            if (DataProvider.Instance.ExecuteNonQuery(query, para) > 0)
            {
                return(true);
            }
            return(false);
        }
Example #5
0
        public bool Them(TinNhan tn)
        {
            string query = "Insert INTO TinNhan(MaTN, MaSP, Tuan, Nam, ChuDe, NoiDung) VALUES ( @MaTN , @MaSP , @Tuan , @Nam , @ChuDe , @NoiDung ) ";

            object[] para = new object[] { tn.MaTN, tn.MaSP, tn.Tuan, tn.Nam, tn.ChuDe, tn.NoiDung };
            if (DataProvider.Instance.ExecuteNonQuery(query, para) > 0)
            {
                return(true);
            }
            return(false);
        }
Example #6
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);
            }
        }
Example #7
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);
            }
        }
Example #8
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);
            }
        }
Example #9
0
        // Lưu lại tin nhắn khách hàng gửi mà chưa có nhân viên trợ giúp
        public async Task SaveNewMessageFromKhachHang(string maKhachHang, string noiDung)
        {
            KhachHang khachHang = await DataContext.KhachHangs.FindAsync(maKhachHang);

            TinNhan tinNhan = new TinNhan()
            {
                MaKhachHang = khachHang.MaKhachHang,
                NoiDung     = noiDung,
                ThoiGianGui = DateTime.Now
            };

            DataContext.TinNhans.Add(tinNhan);
            await DataContext.SaveChangesAsync();
        }
Example #10
0
        public ActionResult LuuTinNhan(string tinnhan)
        {
            TinNhan tinNhan = new TinNhan();

            if (Session["user"] != null && Session["mabaidang"] != null)
            {
                tinNhan.LuuTinNhan(Convert.ToInt32(Session["mabaidang"]), Convert.ToInt32(Session["user"]), tinnhan);
            }
            else
            {
                return(RedirectToAction("Index", "DangNhap"));
            }

            return(RedirectToAction("Index", "ThanhCong"));
        }
Example #11
0
        // Gửi tin nhắn tới tất cả các nhân viên ( hàm này cần chỉnh sao cho phù hợp với admin page)
        public async Task SendMessageFromClientToAllManager(string maKhachHang, string noiDung)
        {
            TinNhan tinNhanCuoi = await DataContext.TinNhans.Where(m => m.MaKhachHang == maKhachHang)
                                  .OrderByDescending(c => c.ThoiGianGui).FirstAsync();

            if (tinNhanCuoi != null)
            {
                // Gửi trong trang thái đăng nhập tại user
                Clients.Clients(manager.Select(m => m.ConnectionId).ToList()).addNewMessageToManager(maKhachHang, noiDung, tinNhanCuoi.ThoiGianGui.ToString("d dddd-M-yyyy"));
                // Gửi trong trnang thái đăng nhập với manager
                KhachHang client = await DataContext.KhachHangs.Where(khachHang => khachHang.MaKhachHang == maKhachHang).FirstAsync();

                Clients.Clients(manager.Select(m => m.ConnectionId).ToList()).addNewMessage(maKhachHang, noiDung, tinNhanCuoi.ThoiGianGui.ToString("d dddd-M-yyyy"), client.Ten, client.DuongDanAnh);
            }
        }
Example #12
0
 /// <summary>
 /// Gửi tin nhắn thông thường
 /// </summary>
 /// <param name="content"></param>
 void SendMessage(string content, string path)
 {
     if (CaiDat.TcpServer.Connected)
     {
         TinNhan mes = new TinNhan();
         mes.Sender  = NguoiGui.Me;
         mes.Content = content;
         mes.Time    = DateTime.Now;
         conversation.ThemTinNhan(mes);
         RefreshWeb();
         // Gửi cho server
         try
         {
             NetworkStream ns = CaiDat.TcpServer.GetStream();
             StreamWriter  sw = new StreamWriter(ns);
             if (path == "")
             {
                 sw.WriteLine(content);      // Gửi tin nhắn
                 sw.Flush();
             }
             else        // Gửi tập tin
             {
                 DoSendFile(sw, path);
             }
             return;
         }
         catch { }
     }
     // Nếu ko ghi được
     while (!CaiDat.TcpServer.Connected)
     {
         // Thử kết nối lại
         if (MessageBox.Show("Mất kết nối tới server\nThử kết nối lại?", "Lỗi", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
         {
             try
             {
                 CaiDat.TcpServer = new TcpClient(CaiDat.Server, CaiDat.Port);
             }
             catch { }
         }
         else
         {
             break;
         }
     }
 }
Example #13
0
        // giữa nhân viên và khách hàng

        // Lưu lại tin nhắn gửi giữa khách hàng và nhân viên cụ thể
        public async Task SaveNewMessageBetweenNhanVienAndClient(string maNhanVien, string maKhachHang, string noiDung)
        {
            KhachHang khachHang = await DataContext.KhachHangs.FindAsync(maKhachHang);

            NhanVien nhanVien = await DataContext.NhanViens.FindAsync(maNhanVien);

            TinNhan tinNhan = new TinNhan()
            {
                MaKhachHang = khachHang.MaKhachHang,
                MaNhanVien  = nhanVien.MaNhanVien,
                NoiDung     = noiDung,
                ThoiGianGui = DateTime.Now
            };

            DataContext.TinNhans.Add(tinNhan);
            await DataContext.SaveChangesAsync();
        }
Example #14
0
        public ActionResult Index(TinNhan tinnhan)
        {
            if (ModelState.IsValid)
            {
                using (AnzamtechEntities db = new AnzamtechEntities())
                {
                    db.TinNhans.Add(tinnhan);
                    db.SaveChanges();
                }
            }
            else
            {
                //not ok
            }

            TempData["sendMessage"] = "OK";
            return(RedirectToAction("Index"));
        }
Example #15
0
        public TinNhan DocThongTin(int pMaTN)
        {
            string query = "SELECT * FROM TINNHAN WHERE MaTN = @MaTN ";

            object[]  para = new object[] { pMaTN };
            DataTable data = DataProvider.Instance.ExecuteQuery(query, para);

            foreach (DataRow item in data.Rows)
            {
                int    MaTN    = (int)item["MaTN"];
                int    MaSP    = (int)item["MaSP"];
                int    Tuan    = (int)item["Tuan"];
                int    Nam     = (int)item["Nam"];
                string ChuDe   = item["ChuDe"].ToString();
                string NoiDung = item["NoiDung"].ToString();

                TinNhan newtn = new TinNhan(MaTN, MaSP, Tuan, Nam, ChuDe, NoiDung);
                return(newtn);
            }
            return(null);
        }
Example #16
0
        /// <summary>
        /// Gửi tin nhắn
        /// </summary>
        /// <param name="content"></param>
        void SendMessage(string content, string path)
        {
            if (lstClient.Count == 0)        // Ko có client nào
            {
                MessageBox.Show("Chờ client kết nối đến...");
                return;
            }
            TinNhan mes = new TinNhan();

            mes.Sender  = NguoiGui.Me;
            mes.Content = content;
            mes.Time    = DateTime.Now;
            conversation.ThemTinNhan(mes);
            RefreshWeb();
            // Tiến hành gửi qua tcp cho các client
            for (int i = 0; i < lstClient.Count; i++)
            {
                if (lstClient[i].Connected)
                {
                    NetworkStream ns = lstClient[i].GetStream();
                    StreamWriter  sw = new StreamWriter(ns);
                    if (path == "")
                    {
                        sw.WriteLine(content);      // Gửi tin nhắn
                        sw.Flush();
                    }
                    else        // Gửi tập tin
                    {
                        DoSendFile(sw, path);
                    }
                }
                else        // Client ko kết nối nữa
                {
                    RemoveClient(lstClient[i]);
                    i--;
                }
            }
        }
Example #17
0
 private void GuiMailGUI_Load(object sender, EventArgs e)
 {
     if (hdflat == 0)
     {
         tb_NguoiNhan.Enabled = false;
         TinNhan tn = TinNhanBUS.Instance.DocThongTin(MaTN);
         if (tn.NoiDung != "" && tn.ChuDe != "")
         {
             tb_ChuDe.Text      = tn.ChuDe;
             tb_NoiDung.Text    = tn.NoiDung;
             tb_ChuDe.Enabled   = false;
             tb_NoiDung.Enabled = false;
         }
         else
         {
             tb_ChuDe.Enabled   = true;
             tb_NoiDung.Enabled = true;
         }
     }
     else
     {
         tb_NguoiNhan.Text = DTGmail;
     }
 }
Example #18
0
        /// <summary>
        /// Lắng nghe từng client
        /// </summary>
        /// <param name="client"></param>
        void HandleClient(object client)
        {
            TcpClient     tcpclient = (TcpClient)client;
            NguoiGui      sender    = conversation.GetSender(tcpclient);
            TinNhan       mes;
            NetworkStream ns = tcpclient.GetStream();
            StreamReader  sr = new StreamReader(ns);
            string        s;

            while (tcpclient.Connected)
            {
                try
                {
                    s = sr.ReadLine();

                    if (s != null)
                    {
                        if (s == CaiDat.MarkSendFile)       // Nếu gửi file
                        {
                            s = DoReciveFile(sr);
                        }
                        mes = new TinNhan()
                        {
                            Content = s, Sender = sender, Time = DateTime.Now
                        };
                        conversation.ThemTinNhan(mes);
                        RefreshWeb();
                        continue;
                    }
                }
                catch { }
                // Ko nhận được dữ liệu nữa có nghĩa là nó ngắt kết nối rồi
                RemoveClient(tcpclient);
                Thread.CurrentThread.Abort();
            }
        }
Example #19
0
 public void Update(TinNhan input)
 {
     _repositoryTinhNhan.Update(input);
 }
Example #20
0
 public bool Sua(TinNhan tn)
 {
     return(TinNhanDAC.Instance.Sua(tn));
 }
Example #21
0
 public bool Them(TinNhan tn)
 {
     return(TinNhanDAC.Instance.Them(tn));
 }
        public IHttpActionResult TraLoiTinNhan(string maSinhVien, string matKhau, TinNhan tinNhan)
        {
            if (!SinhVienDao.TonTaiSinhVien(maSinhVien, matKhau))
            {
                return(BadRequest("Thông tin người gửi không đúng"));
            }

            var hoTenNguoiGui = tinNhan.HoTenNguoiGui;
            var maxMaTinNhan  = TinNhanDao.GetMaxMaTinNhan() + 1;

            TINNHAN newTinNhan = new TINNHAN()
            {
                MaTinNhan   = maxMaTinNhan,
                TieuDe      = tinNhan.TieuDe,
                NoiDung     = tinNhan.NoiDung,
                ThoiDiemGui = DateTime.Now
            };

            NGUOIGUI nguoiGui = new NGUOIGUI()
            {
                MaTinNhan     = maxMaTinNhan,
                MaNguoiGui    = tinNhan.MaNguoiGui,
                HoTenNguoiGui = hoTenNguoiGui,
                TINNHAN       = newTinNhan,
                TrangThai     = TinNhanDao.TINNHAN_CHUA_XOA,
                TAIKHOAN      = null
            };

            var nguoiNhans = new List <NGUOINHAN>();

            foreach (var item in tinNhan.NguoiNhans)
            {
                NGUOINHAN nguoiNhan = new NGUOINHAN()
                {
                    MaTinNhan      = maxMaTinNhan,
                    HoTenNguoiNhan = SinhVienDao.GetHoTenTheoTaiKhoan(item.MaNguoiNhan),
                    ThoiDiemXem    = null,
                    TINNHAN        = newTinNhan,
                    TAIKHOAN       = null,
                    TrangThai      = TinNhanDao.TINNHAN_CHUA_XOA,
                    MaNguoiNhan    = item.MaNguoiNhan
                };
                nguoiNhans.Add(nguoiNhan);
            }

            newTinNhan.NGUOIGUIs = new List <NGUOIGUI> {
                nguoiGui
            };
            newTinNhan.NGUOINHANs = nguoiNhans;
            TinNhanDao.AddTinNhan(newTinNhan);

            try
            {
                // Thong bao den client app
                FCMController fcm      = new FCMController();
                string        message  = fcm.CreateMessageNotification(newTinNhan);
                string        response = fcm.SendMessage(message);
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message + "\n" + ex.InnerException.Message));
            }
        }
Example #23
0
 public void Create(TinNhan input)
 {
     _repositoryTinhNhan.Insert(input);
 }