Esempio n. 1
0
        //
        // GET: /KhamBenh/Create

        public ActionResult Create(int maPhieuKham = 0)
        {
            Message msgThongBao = (Message)TempData["msg"];

            ViewBag.Msg = msgThongBao;

            List <ChiTietDonThuoc> ds = (List <ChiTietDonThuoc>)TempData["dsThuoc"];

            if (ds != null)
            {
                foreach (ChiTietDonThuoc ct in ds)
                {
                    ct.Thuoc = db.DbSetThuoc.Find(ct.ThuocID);
                }
            }
            ViewBag.dsThuoc = ds;

            PhieuKhamBenh pk = db.DbSetPhieuKhamBenh.Find(maPhieuKham);


            ViewBag.BenhNhanSelect = 0;
            ViewBag.DichVuID       = db.DbSetDichVu;
            ViewBag.DanhSachThuoc  = db.DbSetThuoc;

            if (pk != null)
            {
                return(View(pk));
            }

            return(View());
        }
Esempio n. 2
0
        public ActionResult Create(BenhNhan benhnhan, String phongKham)
        {
            benhnhan.NgayTiepNhan = DateTime.Now;
            DichVu dv      = db.DbSetDichVu.Where(m => m.TenDichVu == "Dịch vụ khám").First();
            Phong  phongDV = db.DbSetPhong.Where(m => m.DichVuID == dv.MaDichVu).First();
            int    maPhong;
            bool   parsed = Int32.TryParse(phongKham, out maPhong);

            if (!parsed || maPhong <= 0)
            {
                maPhong = phongDV.MaPhong;
            }
            if (ModelState.IsValid)
            {
                var tienSuBenh = benhnhan.TienSuBenh;
                benhnhan.TienSuBenh = "";
                db.DbSetBenhNhan.Add(benhnhan);
                db.SaveChanges();
                var pk = new PhieuKhamBenh
                {
                    BenhNhanID         = benhnhan.MaBenhNhan,
                    NgayKham           = DateTime.Now,
                    TinhTrangThanhToan = 0,
                    LyDoKham           = tienSuBenh
                };
                db.DbSetPhieuKhamBenh.Add(pk);
                db.SaveChanges();
                //them dich vu kham

                var pkdv = new PhieuYeuCauDichVu {
                    BenhNhanID       = benhnhan.MaBenhNhan,
                    DichVuID         = dv.MaDichVu,
                    DonGia           = dv.DonGia,
                    NgayLap          = DateTime.Now,
                    PhieuKhamBenhID  = pk.MaPhieuKhamBenh,
                    PhongID          = maPhong,
                    ThoiGianThucHien = DateTime.Now
                };
                db.DbSetPhieuYeuCauDichVu.Add(pkdv);
                db.DbSetPhieuKhamBenhDangCho.Add(new PhieuKhamBenhDangCho
                {
                    BenhNhanID         = benhnhan.MaBenhNhan,
                    NgayKham           = DateTime.Now,
                    TinhTrangThanhToan = 0,
                    PhieuKhamBenhID    = pk.MaPhieuKhamBenh,
                    LyDoKham           = pk.LyDoKham
                });
                db.SaveChanges();
                msg             = new Message();
                msg.Type        = "success";
                msg.Title       = "Thành công";
                msg.Content     = "Đã lưu thông tin bệnh nhân";
                TempData["msg"] = msg;
                return(RedirectToAction("Create"));
            }
            DichVu dvKham = db.DbSetDichVu.Where(m => m.TenDichVu == "Dịch vụ khám").First();

            ViewBag.PhongKham = db.DbSetPhong.Where(m => m.DichVuID == dvKham.MaDichVu);//todo;
            return(View(benhnhan));
        }
Esempio n. 3
0
        public ActionResult DeleteConfirmed(int id)
        {
            PhieuKhamBenh phieukhambenh = db.DbSetPhieuKhamBenh.Find(id);

            if (phieukhambenh.PhieuYeuCauDichVus != null)
            {
                for (int i = 0; i < phieukhambenh.PhieuYeuCauDichVus.ToList().Count; i++)
                {
                    int index = phieukhambenh.PhieuYeuCauDichVus.ToList()[i].MaPhieuYeuCauDichVu;
                    db.DbSetPhieuYeuCauDichVu.Remove(db.DbSetPhieuYeuCauDichVu.Find(index));
                }
            }
            var dsPhieuCho = db.DbSetPhieuKhamBenhDangCho.Where(m => m.PhieuKhamBenhID == phieukhambenh.MaPhieuKhamBenh).ToList();

            if (dsPhieuCho != null)
            {
                for (int i = 0; i < dsPhieuCho.Count; i++)
                {
                    db.DbSetPhieuKhamBenhDangCho.Remove(db.DbSetPhieuKhamBenhDangCho.Find(dsPhieuCho[i].MaPhieuKhamBenhDangCho));
                }
            }
            db.SaveChanges();
            db.DbSetPhieuKhamBenh.Remove(phieukhambenh);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            PhieuKhamBenh phieuKhamBenh = db.PhieuKhamBenhs.Find(id);

            db.PhieuKhamBenhs.Remove(phieuKhamBenh);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public void ThemPhieuKham(string pSoPhieu, string pChuanDoan, string pKetLuan)
        {
            PhieuKhamBenh phieuKhamBenh = new PhieuKhamBenh();

            phieuKhamBenh.SoPhieu   = pSoPhieu;
            phieuKhamBenh.ChuanDoan = pChuanDoan;
            phieuKhamBenh.KetLuan   = pKetLuan;
            nhakhoa.PhieuKhamBenhs.InsertOnSubmit(phieuKhamBenh);
            nhakhoa.SubmitChanges();
        }
Esempio n. 6
0
        //
        // GET: /KhamBenh/Details/5

        public ActionResult Details(int id = 0)
        {
            PhieuKhamBenh phieukhambenh = db.DbSetPhieuKhamBenh.Find(id);

            if (phieukhambenh == null)
            {
                return(HttpNotFound());
            }
            return(View(phieukhambenh));
        }
 public ActionResult Edit([Bind(Include = "ID_PhieuKham,ID_BenhNhan,ID_Benh,TrieuChung")] PhieuKhamBenh phieuKhamBenh)
 {
     if (ModelState.IsValid)
     {
         db.Entry(phieuKhamBenh).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ID_Benh     = new SelectList(db.Benhs, "ID_Benh", "TenBenh", phieuKhamBenh.ID_Benh);
     ViewBag.ID_BenhNhan = new SelectList(db.HoSoBenhNhans, "ID_BenhNhan", "HoTen", phieuKhamBenh.ID_BenhNhan);
     return(View(phieuKhamBenh));
 }
Esempio n. 8
0
 public ActionResult Edit(PhieuKhamBenh phieukhambenh)
 {
     if (ModelState.IsValid)
     {
         db.Entry(phieukhambenh).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.BenhNhanID = new SelectList(db.DbSetBenhNhan, "MaBenhNhan", "TenBenhNhan", phieukhambenh.BenhNhanID);
     ViewBag.BacSiID    = new SelectList(db.DbSetNhanVien, "MaNhanVien", "TenNhanVien", phieukhambenh.BacSiID);
     return(View(phieukhambenh));
 }
Esempio n. 9
0
        //
        // GET: /KhamBenh/Edit/5

        public ActionResult Edit(int id = 0)
        {
            PhieuKhamBenh phieukhambenh = db.DbSetPhieuKhamBenh.Find(id);

            if (phieukhambenh == null)
            {
                return(HttpNotFound());
            }
            ViewBag.BenhNhanID = new SelectList(db.DbSetBenhNhan, "MaBenhNhan", "TenBenhNhan", phieukhambenh.BenhNhanID);
            ViewBag.BacSiID    = new SelectList(db.DbSetNhanVien, "MaNhanVien", "TenNhanVien", phieukhambenh.BacSiID);
            return(View(phieukhambenh));
        }
        // GET: PhieuKhamBenh/Details/5

        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuKhamBenh phieuKhamBenh = db.PhieuKhamBenhs.Find(id);

            if (phieuKhamBenh == null)
            {
                return(HttpNotFound());
            }
            return(View(phieuKhamBenh));
        }
Esempio n. 11
0
        private void CommandBinding_Executed_LapPhieuKhamBenh(object sender, ExecutedRoutedEventArgs e)
        {
            if (MessageBox.Show("Xác nhận?", "Cảnh báo!", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No)
            {
                return;
            }
            else
            {
                PhieuKhamBenh pkb = new PhieuKhamBenh();

                pkb.MaPhieuKB = txtMaPKB.Text;
                pkb.ChanDoan  = txtChanDoan.Text.ToString();
                pkb.NgayLap   = DateTime.Now;
                PhieuDKKham pdkk = (PhieuDKKham)xlPDKK.Tim(txtMaPDKK.Text.ToString());
                if (pdkk != null)
                {
                    //MessageBox.Show(pdkk.IDPhieuDKK.ToString());
                    //psddv.PhieuDKKID = pdkk.IDPhieuDKK;
                    pkb.PhieuDKKham = pdkk;
                }
                NhanVien nv = (NhanVien)xlNV.TimMa(txtNhanVienLP.Text.ToString());
                if (nv != null)
                {
                    pkb.NhanVien = nv;
                }
                decimal tt = 0;
                if (dsCTDT != null && dsCTDT.Count > 0)
                {
                    DonThuoc        dt   = new DonThuoc();
                    List <DonThuoc> dsDT = new List <DonThuoc>();
                    foreach (CTDonThuoc b in dsCTDT)
                    {
                        dt.CTDonThuoc.Add(b);
                        tt += b.Thuoc.DonGiaThuoc.Value;
                    }
                    dt.TongTien   = tt;
                    dt.MaDonThuoc = xlDT.taoMa().ToString();
                    dt.NgayLap    = pkb.NgayLap;
                    //dt.PhieuKhamBenh.NhanVien = pkb.NhanVien;
                    dsDT.Add(dt);
                    pkb.DonThuoc.AddRange(dsDT);
                }

                xlPKB.Them(pkb);
                clearControl(); getDS();
                MessageBox.Show("Lập PKB thành công!");
                this.Close();
            }
        }
Esempio n. 12
0
 private void dgPKB_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (dgPKB.SelectedValue.ToString() != "")
     {
         PhieuKhamBenh a = xlPKB.Tim(dgPKB.SelectedValue.ToString());
         if (a != null)
         {
             List <CTDonThuoc> ctdt = new List <CTDonThuoc>();
             foreach (DonThuoc b in a.DonThuoc)
             {
                 ctdt.AddRange(b.CTDonThuoc);
             }
             dgDT.ItemsSource = ctdt.ToList();
         }
     }
 }
        // GET: PhieuKhamBenh/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PhieuKhamBenh phieuKhamBenh = db.PhieuKhamBenhs.Find(id);

            if (phieuKhamBenh == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ID_Benh     = new SelectList(db.Benhs, "ID_Benh", "TenBenh", phieuKhamBenh.ID_Benh);
            ViewBag.ID_BenhNhan = new SelectList(db.HoSoBenhNhans, "ID_BenhNhan", "HoTen", phieuKhamBenh.ID_BenhNhan);
            return(View(phieuKhamBenh));
        }
        public ActionResult PhieuKhamBenh([Bind(Include = "ID_PhieuKham,ID_BenhNhan,ID_Benh,NgayKham,TrieuChung")] PhieuKhamBenh phieuKhamBenh)
        {
            if (ModelState.IsValid)
            {
                db.PhieuKhamBenhs.Add(phieuKhamBenh);
                db.SaveChanges();
                Session["ID_PhieuKham"] = phieuKhamBenh.ID_PhieuKham;
                return(RedirectToAction("Create", "CT_PhieuKhamBenh"));
            }


            //ViewBag.ID_Benh = new SelectList(db.CT_PhieuKhamBenh, "ID_Thuoc", phieuKhamBenh.CT_PhieuKhamBenh.ID_);
            ViewBag.ID_Benh     = new SelectList(db.Benhs, "ID_Benh", "TenBenh", phieuKhamBenh.ID_Benh);
            ViewBag.ID_BenhNhan = new SelectList(db.HoSoBenhNhans, "ID_BenhNhan", "HoTen", phieuKhamBenh.ID_BenhNhan);
            return(View(phieuKhamBenh));
        }
        // POST: PhieuSuaChuas/Delete/5
        public JsonResult DeleteConfirmation(int IDPhieu)
        {
            bool          result    = false;
            PhieuKhamBenh phieuKham = db.PhieuKhamBenhs.Find(IDPhieu);
            var           chiTiet   = db.CT_PhieuKhamBenh.Where(x => x.ID_PhieuKham == IDPhieu);
            HoaDon        hoaDon    = db.HoaDons.Where(x => x.ID_PhieuKham == IDPhieu).Single();

            if (phieuKham != null)
            {
                db.HoaDons.Remove(hoaDon);
                foreach (var ele in chiTiet)
                {
                    db.CT_PhieuKhamBenh.Remove(ele);
                }
                db.PhieuKhamBenhs.Remove(phieuKham);
                db.SaveChanges();
                result = true;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 16
0
 public ActionResult Create(PhieuKhamBenh phieukhambenh, List <PhieuYeuCauDichVu> dsPhieuYeuCauDichVu)
 {
     if (ModelState.IsValid)
     {
         if (phieukhambenh != null && phieukhambenh.MaPhieuKhamBenh > 0 && dsPhieuYeuCauDichVu.Count > 0)
         {
             if (dsPhieuYeuCauDichVu != null)
             {
                 foreach (var item in dsPhieuYeuCauDichVu)
                 {
                     item.PhieuKhamBenhID  = phieukhambenh.MaPhieuKhamBenh;
                     item.NgayLap          = DateTime.Now;
                     item.ThoiGianThucHien = DateTime.Now;
                     db.DbSetPhieuYeuCauDichVu.Add(item);
                 }
                 db.SaveChanges();
             }
             msg             = new Message();
             msg.Type        = "success";
             msg.Title       = "Thành công";
             msg.Content     = "Đã lưu dịch vụ khám";
             TempData["msg"] = msg;
             //return RedirectToAction("Create", new { id =  });
             return(RedirectToAction("Create"));
         }
     }
     if (phieukhambenh.BenhNhan == null)
     {
         msg             = new Message();
         msg.Type        = "error";
         msg.Title       = "Cảnh báo";
         msg.Content     = "Chọn bệnh nhân và thêm dịch vụ khám";
         TempData["msg"] = msg;
         return(RedirectToAction("Create"));
     }
     //var errors = ModelState.Values.SelectMany(m => m.Errors);
     ViewBag.DichVuID      = db.DbSetDichVu;
     ViewBag.DanhSachThuoc = db.DbSetThuoc;
     return(View(phieukhambenh));
 }
Esempio n. 17
0
        public MainViewModel()
        {
            //Login

            LoadedViewConmand = new RelayCommand <Window>((p) => { return(true); }, (p) =>
            {
                IsLoaded = true;
                if (p == null)
                {
                    return;
                }
                p.Hide();

                LoginWindow loginWindow = new LoginWindow();
                loginWindow.ShowDialog();

                if (loginWindow.DataContext == null)
                {
                    return;
                }
                var loginVM = loginWindow.DataContext as LoginViewModel;

                if (loginVM.IsLogin)
                {
                    p.Show();
                }
                else
                {
                    p.Close();
                }
            });
            //Benh Nhan
            comboGioiTinh = new ObservableCollection <String>();
            comboGioiTinh.Add("Nam");
            comboGioiTinh.Add("Nữ");
            ListBenhNhan       = new ObservableCollection <BenhNhan>(DataProvider.Ins.DB.BenhNhans);
            AddCommandBenhNhan = new RelayCommand <object>((p) =>
            {
                if (HoVaTen == null || GioiTinh == null || NamSinh < 0 || NamSinh == 0 || DiaChi == null)
                {
                    return(false);
                }
                return(true);
            }, (p) =>
            {
                var Patient = new BenhNhan()
                {
                    HoVaTen = HoVaTen, GioiTinh = GioiTinh, NamSinh = NamSinh, DiaChi = DiaChi
                };

                DataProvider.Ins.DB.BenhNhans.Add(Patient);
                DataProvider.Ins.DB.SaveChanges();

                ListBenhNhan = new ObservableCollection <BenhNhan>(DataProvider.Ins.DB.BenhNhans);
            });

            EditCommandBenhNhan = new RelayCommand <object>((p) =>
            {
                if (SelectedItemBenhNhan == null)
                {
                    return(false);
                }
                var IdList = DataProvider.Ins.DB.BenhNhans.Where(x => x.MaBN == SelectedItemBenhNhan.MaBN);
                if (IdList != null || IdList.Count() != 0)
                {
                    return(true);
                }
                return(false);
            }, (p) =>
            {
                var Patient      = DataProvider.Ins.DB.BenhNhans.Where(x => x.MaBN == SelectedItemBenhNhan.MaBN).SingleOrDefault();
                Patient.HoVaTen  = HoVaTen;
                Patient.GioiTinh = GioiTinh;
                Patient.NamSinh  = NamSinh;
                Patient.DiaChi   = DiaChi;
                DataProvider.Ins.DB.SaveChanges();
                ListBenhNhan = new ObservableCollection <BenhNhan>(DataProvider.Ins.DB.BenhNhans);
            });


            closeCommandBenhNhan = new RelayCommand <TextBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                p.Text = "";
            });

            IsOnCommandBenhNhan = new RelayCommand <Button>((p) =>
            {
                return(IsOnBenhNhan);
            }, (p) =>
            {
            });

            TextChangedCommandBenhNhan = new RelayCommand <TextBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                _TimHoVaTen = p.Text;
                if (_TimHoVaTen == "")
                {
                    ListBenhNhan = new ObservableCollection <BenhNhan>(DataProvider.Ins.DB.BenhNhans);
                    IsOnBenhNhan = false;
                }
                else
                {
                    IsOnBenhNhan   = true;
                    string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";
                    using (SqlConnection conn = new SqlConnection())
                    {
                        conn.ConnectionString = ConnStr;
                        conn.Open();
                        SqlCommand command = new SqlCommand("[Search by Keyword]", conn);
                        command.Parameters.Add("@keyword", SqlDbType.VarChar).Value = _TimHoVaTen;
                        command.CommandType = CommandType.StoredProcedure;
                        SqlDataAdapter adp  = new SqlDataAdapter(command);

                        DataTable dt = new DataTable();
                        adp.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            ListBenhNhan = new ObservableCollection <BenhNhan>(ConvertToBenhNhan(dt));
                        }
                        else
                        {
                            ListBenhNhan = new ObservableCollection <BenhNhan>(DataProvider.Ins.DB.BenhNhans.Where((x) => x.HoVaTen.StartsWith(_TimHoVaTen)));
                        }
                    }
                }
            });

            ResetCommandBenhNhan = new RelayCommand <object>((p) =>
            {
                return(true);
            }, (p) =>
            {
                HoVaTen              = null;
                GioiTinh             = null;
                NamSinh              = 0;
                DiaChi               = null;
                SelectedItemBenhNhan = null;
            });

            DeleteCommandBenhNhan = new RelayCommand <object>((p) =>
            {
                if (SelectedItemBenhNhan == null)
                {
                    return(false);
                }
                var IdList = DataProvider.Ins.DB.BenhNhans.Where(x => x.MaBN == SelectedItemBenhNhan.MaBN);
                if (IdList != null || IdList.Count() != 0)
                {
                    return(true);
                }
                return(false);
            }, p =>
            {
                string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";
                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConnStr;
                    conn.Open();
                    SqlCommand command = new SqlCommand("[Delete BenhNhan]", conn);
                    command.Parameters.Add("@key", SqlDbType.Int).Value = SelectedItemBenhNhan.MaBN;
                    command.CommandType = CommandType.StoredProcedure;
                    command.ExecuteNonQuery();
                    ListBenhNhan = new ObservableCollection <BenhNhan>(DataProvider.Ins.DB.BenhNhans);
                }
            });

            LapPhieuKhamBenhCommand = new RelayCommand <object>((p) =>
            {
                return(true);
            }, (p) =>
            {
                MaBN = SelectedItemBenhNhan.MaBN;
                PhieuKhamBenh PhieuKhamBenhwindown = new PhieuKhamBenh();
                PhieuKhamBenhwindown.ShowDialog();
            });
            ThanhToanCommand = new RelayCommand <object>((p) =>
            {
                return(true);
            }, (p) =>
            {
                MaBN = SelectedItemBenhNhan.MaBN;
                BillWindow ThanhToanwindow = new BillWindow();
                ThanhToanwindow.ShowDialog();
            });
            //Thuốc
            comboDonVi = new ObservableCollection <String>();
            comboDonVi.Add("Viên");
            comboDonVi.Add("Chai");
            ListThuoc       = new ObservableCollection <Thuoc>(DataProvider.Ins.DB.Thuocs);
            AddCommandThuoc = new RelayCommand <object>((p) =>
            {
                if (TenThuoc == null)
                {
                    return(false);
                }
                if (DonVi == null)
                {
                    return(false);
                }
                if (DonGia < 0)
                {
                    return(false);
                }
                return(true);
            }, (p) =>
            {
                var Drug = new Thuoc()
                {
                    TenThuoc = TenThuoc, DonVi = DonVi, DonGia = DonGia
                };

                DataProvider.Ins.DB.Thuocs.Add(Drug);
                DataProvider.Ins.DB.SaveChanges();
                ListThuoc = new ObservableCollection <Thuoc>(DataProvider.Ins.DB.Thuocs);
            });


            EditCommandThuoc = new RelayCommand <object>((p) =>
            {
                if (SelectedItemThuoc == null)
                {
                    return(false);
                }
                var IdList = DataProvider.Ins.DB.Thuocs.Where(x => x.MaThuoc == SelectedItemThuoc.MaThuoc);
                if (IdList != null || IdList.Count() != 0)
                {
                    return(true);
                }
                return(false);
            }, (p) =>
            {
                var Drug      = DataProvider.Ins.DB.Thuocs.Where(x => x.MaThuoc == SelectedItemThuoc.MaThuoc).SingleOrDefault();
                Drug.TenThuoc = TenThuoc;
                Drug.DonVi    = DonVi;
                Drug.DonGia   = DonGia;
                DataProvider.Ins.DB.SaveChanges();
                ListThuoc = new ObservableCollection <Thuoc>(DataProvider.Ins.DB.Thuocs);
            });


            closeCommandThuoc = new RelayCommand <TextBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                p.Text = "";
            });

            IsOnCommandThuoc = new RelayCommand <Button>((p) =>
            {
                return(IsOnThuoc);
            }, (p) =>
            {
            });

            TextChangedCommandThuoc = new RelayCommand <TextBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                _TimTenThuoc = p.Text;
                if (_TimTenThuoc == "")
                {
                    ListThuoc = new ObservableCollection <Thuoc>(DataProvider.Ins.DB.Thuocs);
                    IsOnThuoc = false;
                }
                else
                {
                    IsOnThuoc      = true;
                    string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";
                    using (SqlConnection conn = new SqlConnection())
                    {
                        conn.ConnectionString = ConnStr;
                        conn.Open();
                        SqlCommand command = new SqlCommand("[Search by Keyword Drug]", conn);
                        command.Parameters.Add("@keyword", SqlDbType.VarChar).Value = _TimTenThuoc;
                        command.CommandType = CommandType.StoredProcedure;
                        SqlDataAdapter adp  = new SqlDataAdapter(command);

                        DataTable dt = new DataTable();
                        adp.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            ListThuoc = new ObservableCollection <Thuoc>(ConvertToThuoc(dt));
                        }
                        else
                        {
                            ListThuoc = new ObservableCollection <Thuoc>(DataProvider.Ins.DB.Thuocs.Where((x) => x.TenThuoc.StartsWith(_TimTenThuoc)));
                        }
                    }
                }
            });

            ResetCommandThuoc = new RelayCommand <object>((p) =>
            {
                return(true);
            }, (p) =>
            {
                TenThuoc          = null;
                DonVi             = null;
                DonGia            = 0;
                SelectedItemThuoc = null;
            });

            DeleteCommandThuoc = new RelayCommand <object>((p) =>
            {
                if (SelectedItemThuoc == null)
                {
                    return(false);
                }
                var IdList = DataProvider.Ins.DB.Thuocs.Where(x => x.MaThuoc == SelectedItemThuoc.MaThuoc);
                if (IdList != null || IdList.Count() != 0)
                {
                    return(true);
                }
                return(false);
            }, p =>
            {
                string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";
                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConnStr;
                    conn.Open();
                    SqlCommand command = new SqlCommand("[Delete Thuoc]", conn);
                    command.Parameters.Add("@key", SqlDbType.Int).Value = SelectedItemThuoc.MaThuoc;
                    command.CommandType = CommandType.StoredProcedure;
                    command.ExecuteNonQuery();
                    ListThuoc = new ObservableCollection <Thuoc>(DataProvider.Ins.DB.Thuocs);
                }
            });
            //Báo Cáo Doanh Thu
            ClickFindCommandBaoCaoDoanhThu = new RelayCommand <ListView>((p) =>
            {
                return(true);
            }, (p) =>
            {
                string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";

                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConnStr;
                    conn.Open();
                    SqlCommand command = new SqlCommand("[Sales by Month]", conn);
                    command.Parameters.Add("@month", SqlDbType.Int).Value = _ThangDoanhThu + 1;
                    command.CommandType = CommandType.StoredProcedure;
                    SqlDataAdapter ad   = new SqlDataAdapter(command);
                    DataTable dt        = new DataTable();
                    ad.Fill(dt);
                    allData = dt.DefaultView;
                }
            });
            IsOnClickDoanhThu = new RelayCommand <object>((p) =>
            {
                return(onClickDoanhThu);
            }, (p) =>
            {
            });
            SelectionChangedCommandBaoCaoDoanhThu = new RelayCommand <ComboBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                onClickDoanhThu = true;
                _ThangDoanhThu  = p.SelectedIndex;
            });

            // Báo Cáo Thuốc

            ClickFindCommandBaoCaoSDThuoc = new RelayCommand <ListView>((p) =>
            {
                return(true);
            }, (p) =>
            {
                string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";

                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConnStr;
                    conn.Open();
                    SqlCommand command = new SqlCommand("[Sales by Month Drug]", conn);
                    command.Parameters.Add("@moth", SqlDbType.Int).Value = _ThangSDThuoc + 1;
                    command.CommandType = CommandType.StoredProcedure;
                    SqlDataAdapter ad   = new SqlDataAdapter(command);
                    DataTable dt        = new DataTable();
                    ad.Fill(dt);
                    allDataSDThuoc = dt.DefaultView;
                }
            });
            IsOnClickSDThuoc = new RelayCommand <object>((p) =>
            {
                return(onClickSDThuoc);
            }, (p) =>
            {
            });
            SelectionChangedCommandBaoCaoSDThuoc = new RelayCommand <ComboBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                onClickSDThuoc = true;
                _ThangSDThuoc  = p.SelectedIndex;
            });

            //Tài Khoản

            ListTaiKhoan       = new ObservableCollection <TaiKhoan>(DataProvider.Ins.DB.TaiKhoans);
            AddCommandTaiKhoan = new RelayCommand <object>((p) =>
            {
                if (username == null)
                {
                    return(false);
                }
                if (password == null)
                {
                    return(false);
                }
                return(true);
            }, (p) =>
            {
                var account = new TaiKhoan()
                {
                    username = username, tenhienthi = tenhienthi, password = password, TYPE = 2
                };

                DataProvider.Ins.DB.TaiKhoans.Add(account);
                DataProvider.Ins.DB.SaveChanges();
                ListTaiKhoan = new ObservableCollection <TaiKhoan>(DataProvider.Ins.DB.TaiKhoans);
            });


            EditCommandTaiKhoan = new RelayCommand <object>((p) =>
            {
                if (SelectedItemTaiKhoan == null)
                {
                    return(false);
                }
                var IdList = DataProvider.Ins.DB.TaiKhoans.Where(x => x.username == SelectedItemTaiKhoan.username);
                if (IdList != null || IdList.Count() != 0)
                {
                    return(true);
                }
                return(false);
            }, (p) =>
            {
                var account      = DataProvider.Ins.DB.TaiKhoans.Where(x => x.username == SelectedItemTaiKhoan.username).SingleOrDefault();
                account.username = username;
                account.password = password;
                DataProvider.Ins.DB.SaveChanges();
                ListTaiKhoan = new ObservableCollection <TaiKhoan>(DataProvider.Ins.DB.TaiKhoans);
            });


            closeCommandTaiKhoan = new RelayCommand <TextBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                p.Text = "";
            });

            IsOnCommandTaiKhoan = new RelayCommand <Button>((p) =>
            {
                return(IsOnTaiKhoan);
            }, (p) =>
            {
            });

            TextChangedCommandTaiKhoan = new RelayCommand <TextBox>((p) =>
            {
                return(true);
            }, (p) =>
            {
                _TimTenTaiKhoan = p.Text;
                if (_TimTenTaiKhoan == "")
                {
                    ListTaiKhoan = new ObservableCollection <TaiKhoan>(DataProvider.Ins.DB.TaiKhoans);
                    IsOnTaiKhoan = false;
                }
                else
                {
                    IsOnTaiKhoan   = true;
                    string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";
                    using (SqlConnection conn = new SqlConnection())
                    {
                        conn.ConnectionString = ConnStr;
                        conn.Open();
                        SqlCommand command = new SqlCommand("[Search by Keyword Account]", conn);
                        command.Parameters.Add("@keyword", SqlDbType.VarChar).Value = _TimTenTaiKhoan;
                        command.CommandType = CommandType.StoredProcedure;
                        SqlDataAdapter adp  = new SqlDataAdapter(command);

                        DataTable dt = new DataTable();
                        adp.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            ListTaiKhoan = new ObservableCollection <TaiKhoan>(ConvertToTaiKhoan(dt));
                        }
                        else
                        {
                            ListTaiKhoan = new ObservableCollection <TaiKhoan>(DataProvider.Ins.DB.TaiKhoans.Where((x) => x.username.StartsWith(_TimTenTaiKhoan)));
                        }
                    }
                }
            });

            ResetCommandTaiKhoan = new RelayCommand <object>((p) =>
            {
                return(true);
            }, (p) =>
            {
                username             = null;
                password             = null;
                SelectedItemTaiKhoan = null;
            });

            DeleteCommandTaiKhoan = new RelayCommand <object>((p) =>
            {
                if (SelectedItemTaiKhoan == null)
                {
                    return(false);
                }
                var IdList = DataProvider.Ins.DB.TaiKhoans.Where(x => x.username == SelectedItemTaiKhoan.username);
                if (IdList != null || IdList.Count() != 0)
                {
                    return(true);
                }
                return(false);
            }, p =>
            {
                string ConnStr = "Data Source=(local);Initial Catalog=QLPM4;Integrated Security=true;";
                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConnStr;
                    conn.Open();
                    SqlCommand command = new SqlCommand("[Delete TaiKhoan]", conn);
                    command.Parameters.Add("@key", SqlDbType.VarChar).Value = SelectedItemTaiKhoan.username;
                    command.CommandType = CommandType.StoredProcedure;
                    command.ExecuteNonQuery();
                    ListTaiKhoan = new ObservableCollection <TaiKhoan>(DataProvider.Ins.DB.TaiKhoans);
                }
            });

            //Thay đổi mật khẩu
            ThayDoiThongTin = new RelayCommand <object>((p) =>
            {
                return(true);
            }, (p) =>
            {
                var Account        = DataProvider.Ins.DB.TaiKhoans.Where(x => x.username == LoginViewModel._usename).SingleOrDefault();
                Account.password   = MatKhauThayDoi.ToString();
                Account.tenhienthi = TenThayDoi.ToString();
                DataProvider.Ins.DB.SaveChanges();
                MessageBox.Show("Mật khẩu thay đổi thành công!", "Thông Báo", MessageBoxButton.OK, MessageBoxImage.Asterisk);
            });
        }
 public void Them(PhieuKhamBenh a)
 {
     tc.getDSPhieuKhamBenh().InsertOnSubmit(a);
     tc.capnhat();
 }
        public ActionResult Save(int?IDPhieu, int idPhieuTN, DateTime date, int IDBenh, string TrieuChung, CT_PhieuKhamBenh[] chitietphieukham)
        {
            string result = "Error! Thêm chi tiết không thể hoàn tất!";

            if (IDPhieu == null && idPhieuTN != 0 && date != null && chitietphieukham != null && IDBenh != 0)
            {
                PhieuKhamBenh phieuKham = new PhieuKhamBenh();

                int tienThuoc = 0;
                phieuKham.IDPhieuTN  = idPhieuTN;
                phieuKham.ID_Benh    = IDBenh;
                phieuKham.NgayKham   = date;
                phieuKham.TrieuChung = TrieuChung;
                db.PhieuKhamBenhs.Add(phieuKham);
                db.SaveChanges();
                int    idPhieuKham = phieuKham.ID_PhieuKham;
                HoaDon hoaDon      = new HoaDon();
                hoaDon.ID_PhieuKham = idPhieuKham;
                int tienKham = Convert.ToInt32(db.ThamSoes.Where(x => x.GhiChu.Contains("Tien kham")).SingleOrDefault().GiaTri);;
                hoaDon.TienKham = tienKham;
                foreach (var ct in chitietphieukham)
                {
                    CT_PhieuKhamBenh C = new CT_PhieuKhamBenh();
                    C.ID_PhieuKham    = idPhieuKham;
                    C.ID_Thuoc        = ct.ID_Thuoc;
                    C.DonGiaBan       = ct.DonGiaBan;
                    C.SoLuongThuocLay = ct.SoLuongThuocLay;
                    C.ThanhTien       = ct.ThanhTien;
                    db.CT_PhieuKhamBenh.Add(C);
                    tienThuoc += ct.ThanhTien;
                }
                hoaDon.TienThuoc = tienThuoc;
                hoaDon.TongTien  = tienKham + tienThuoc;
                db.HoaDons.Add(hoaDon);
                db.SaveChanges();
                Session["ID_PhieuKham"] = idPhieuKham;
                result = "Thành công! Thêm chi tiết hoàn tất!";
            }
            else
            {
                try
                {
                    int tienThuoc = 0;
                    //Trường hợp đã remove 1 hay nhiều ChiTietKhamBenh nào đó ...
                    CT_PhieuKhamBenh[] C = db.CT_PhieuKhamBenh.Where(x => x.ID_PhieuKham == IDPhieu && x.Deleted == false).ToList().ToArray();

                    List <int> listC       = Helper.GhiIDThuocThanhMang(C);
                    List <int> listChiTiet = Helper.GhiIDThuocThanhMang(chitietphieukham);
                    //Tìm phần tử có trong C mà ko có trong chitietphieusua
                    var excepts = listC.Except(listChiTiet).ToArray();
                    if (excepts.Count() != 0)
                    {
                        foreach (var e in excepts)
                        {
                            CT_PhieuKhamBenh chiTietPhieuKham = db.CT_PhieuKhamBenh.Find(IDPhieu, e);
                            chiTietPhieuKham.Deleted = true;
                            //Update lại thành Số lượng tồn
                            Helper.UpdateAfterDeleteChiTietPhieu(chiTietPhieuKham);
                            //Flag
                            db.Entry(chiTietPhieuKham).State = EntityState.Modified;
                        }

                        db.SaveChanges();
                    }
                    foreach (CT_PhieuKhamBenh chiTiet in chitietphieukham)
                    {
                        int idThuoc = chiTiet.ID_Thuoc;

                        //Nếu đã có ChiTietPhieu này thi chỉ thực hiện edit
                        if (db.CT_PhieuKhamBenh.Any(x => x.ID_PhieuKham == IDPhieu && x.ID_Thuoc == idThuoc))
                        {
                            CT_PhieuKhamBenh ct = db.CT_PhieuKhamBenh.Find(IDPhieu, idThuoc);
                            if (ct.Deleted == false) //Chi Edit vs ChiTiet chua xoa
                            {
                                ct.DonGiaBan       = chiTiet.DonGiaBan;
                                ct.SoLuongThuocLay = chiTiet.SoLuongThuocLay;
                                ct.ThanhTien       = chiTiet.ThanhTien;
                                db.Entry(ct).State = EntityState.Modified;
                            }
                            else //Neu xoa roi (Deleted = true) thi xoa hẳn giá trị đó, va them lai => To fire trigger, update Soluongton, ...
                            {
                                //Xóa
                                db.CT_PhieuKhamBenh.Remove(ct);
                                db.SaveChanges();
                                //Gán & Add lại
                                ct.DonGiaBan       = chiTiet.DonGiaBan;
                                ct.SoLuongThuocLay = chiTiet.SoLuongThuocLay;
                                ct.ThanhTien       = chiTiet.ThanhTien;
                                ct.Deleted         = false;
                                db.CT_PhieuKhamBenh.Add(ct);
                                db.SaveChanges();
                            }
                        }
                        else //Nếu không có thì thêm mới
                        {
                            CT_PhieuKhamBenh ChiTiet = new CT_PhieuKhamBenh();
                            ChiTiet.ID_PhieuKham    = (int)IDPhieu;
                            ChiTiet.ID_Thuoc        = chiTiet.ID_Thuoc;
                            ChiTiet.DonGiaBan       = chiTiet.DonGiaBan;
                            ChiTiet.SoLuongThuocLay = chiTiet.SoLuongThuocLay;
                            ChiTiet.ThanhTien       = chiTiet.ThanhTien;
                            db.CT_PhieuKhamBenh.Add(ChiTiet);
                        }
                        db.SaveChanges();
                    }
                    HoaDon phieuThuTien = db.HoaDons.Where(x => x.ID_PhieuKham == IDPhieu).SingleOrDefault();
                    var    chiTietKham  = db.CT_PhieuKhamBenh.Where(x => x.ID_PhieuKham == IDPhieu && x.Deleted == false);
                    foreach (var ele in chiTietKham)
                    {
                        tienThuoc += ele.ThanhTien;
                    }
                    phieuThuTien.TienThuoc = tienThuoc;
                    phieuThuTien.TongTien  = tienThuoc + phieuThuTien.TienKham;
                    db.SaveChanges();
                    Session["ID_PhieuKham"] = IDPhieu;
                    result = "Sửa thành công!!";
                }
                catch (Exception ex)
                {
                    ViewBag.Errors = ex.Message;
                    throw ex;
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        private void CommandBinding_Executed_LapDonThuoc(object sender, ExecutedRoutedEventArgs e)
        {
            //DonThuoc a = new DonThuoc();
            //a.MaDonThuoc = txtMaPDDK.Text;
            ////BenhNhan bn = (BenhNhan)xlBN.tim(Common.maBenhNhan.ToString());
            //BenhNhan bn = (BenhNhan)xlBN.tim(txtMaBenhNhan.Text.ToString());
            //if (bn != null)
            //{
            //    a.BenhNhanID = bn.ID;
            //}
            //NhanVien nv = (NhanVien)xlNV.TimMa(txtNhanVienLP.Text.ToString());
            //if (nv != null)
            //{
            //    a.NhanVienID = nv.ID;
            //}
            ////a.BenhNhan = (BenhNhan)xlBN.tim(Common.maBenhNhan.ToString());
            //a.TrieuChung = txtTrieuChung.Text.ToString();
            //a.NgayLap = DateTime.Parse(dpNgayLap.Text.ToString());
            //// a.NhanVien = (NhanVien)xlNV.TimMa(Common.maNhanVien.ToString());

            //if (dsCTDKPK != null)
            //{
            //    foreach (CTDKPhongKham b in dsCTDKPK)
            //    {
            //        a.CTDKPhongKham.Add(b);
            //        b.DonThuoc = a;
            //        b.DonThuocID = a.ID;

            //    }
            //}
            //decimal tt = 0;
            //if (dsCTDT != null)
            //{
            //    foreach (CTDonThuoc b in dsCTDT)
            //    {
            //        a.CTDonThuoc.Add(b);
            //        b.DonThuoc = a;
            //        b.DonThuocID = a.ID;
            //        tt += b.Thuoc.DonGiaThuoc.Value;
            //    }
            //}
            //a.TongTien = tt;
            //xlT.Them(a);

            //dsCTDKPK.Clear();
            //dsCTDT.Clear();
            //dgCTDKPK.ItemsSource = xlT.getDSDonThuocByDS(dsCTDKPK).ToList();
            //dgCTT.ItemsSource = xlT.getDSDonThuocByDS(dsCTDT).ToList();


            //clearControl();
            //getDS();


            DonThuoc a = new DonThuoc();

            a.MaDonThuoc = txtMaDT.Text;
            //BenhNhan bn = (BenhNhan)xlBN.tim(Common.maBenhNhan.ToString());
            PhieuKhamBenh pkb = (PhieuKhamBenh)xlPKB.Tim(txtMaPhieuKhamBenh.Text.ToString());

            if (pkb != null)
            {
                MessageBox.Show(pkb.IDPhieuKB.ToString());
                a.PhieuKhamBenh = pkb;
            }
            NhanVien nv = (NhanVien)xlNV.TimMa(txtNhanVienLP.Text.ToString());

            if (nv != null)
            {
                MessageBox.Show(nv.IDNhanVien.ToString());
                a.PhieuKhamBenh.NhanVien = nv;
            }
            a.NgayLap = DateTime.Parse(dpNgayLap.Text.ToString());

            decimal tt = 0;

            if (dgCTT.Items != null)
            {
                MessageBox.Show("list");
                foreach (CTDonThuoc b in dsCTDT)
                {
                    a.CTDonThuoc.Add(b);
                    tt += b.Thuoc.DonGiaThuoc.Value;
                }
            }
            a.TongTien = tt;
            xlDT.Them(a);
            this.Close();
        }
Esempio n. 21
0
        public ActionResult CreateDonThuoc(PhieuKhamBenh phieuKham, List <ChiTietDonThuoc> dsChiTietDonThuoc)
        {
            TempData["msg"] = msg;
            if (ModelState.IsValid)
            {
                if (phieuKham != null && dsChiTietDonThuoc != null)
                {
                    DonThuoc donThuoc = new DonThuoc {
                        BacSiID         = 1,//todo
                        NgayKeDon       = DateTime.Now,
                        PhieuKhamBenhID = phieuKham.MaPhieuKhamBenh,
                        TongTien        = dsChiTietDonThuoc.Sum(i => i.DonGia * i.SoLuong)
                    };
                    db.DbSetDonThuoc.Add(donThuoc);
                    db.SaveChanges();

                    if (dsChiTietDonThuoc != null)
                    {
                        foreach (var item in dsChiTietDonThuoc)
                        {
                            item.DonThuocID = donThuoc.MaDonThuoc;
                            item.NgayDung   = item.Sang + item.Trua + item.Chieu + item.Toi;
                            db.DbSetChiTietDonThuoc.Add(item);
                        }
                        db.SaveChanges();
                    }

                    var dsPhieuCho = db.DbSetPhieuKhamBenhDangCho.Where(m => m.PhieuKhamBenhID == phieuKham.MaPhieuKhamBenh).ToList();
                    if (dsPhieuCho != null)
                    {
                        for (int i = 0; i < dsPhieuCho.Count; i++)
                        {
                            db.DbSetPhieuKhamBenhDangCho.Remove(db.DbSetPhieuKhamBenhDangCho.Find(dsPhieuCho[i].MaPhieuKhamBenhDangCho));
                        }
                    }
                    db.SaveChanges();

                    var dsBNCho = db.DbSetBenhNhanChoKham.Where(m => m.BenhNhanID == phieuKham.BenhNhanID).ToList();
                    if (dsBNCho != null)
                    {
                        for (int i = 0; i < dsBNCho.Count; i++)
                        {
                            db.DbSetBenhNhanChoKham.Remove(db.DbSetBenhNhanChoKham.Find(dsBNCho[i].MaBenhNhan));
                        }
                    }

                    db.SaveChanges();
                    msg                 = new Message();
                    msg.Type            = "success";
                    msg.Title           = "Thành công";
                    msg.Content         = "Đã lưu đơn thuốc.";
                    TempData["msg"]     = msg;
                    TempData["dsThuoc"] = dsChiTietDonThuoc;
                    return(RedirectToAction("Create", new { maPhieuKham = phieuKham.MaPhieuKhamBenh }));
                }
            }
            var errors = ModelState.Values.SelectMany(m => m.Errors);

            ViewBag.DichVuID      = db.DbSetDichVu;
            ViewBag.DanhSachThuoc = db.DbSetThuoc;
            msg             = new Message();
            msg.Type        = "error";
            msg.Title       = "Lỗi";
            msg.Content     = "Không thể lưu đơn thuốc.\n" + errors.ToString();
            TempData["msg"] = msg;
            return(RedirectToAction("Create"));
            //return View(phieuKham);
        }