Beispiel #1
0
        public void LoadThanhToan()
        {
            List <HDTC> dts;

            if (cbFMonth.SelectedItem != null && cbFYear.SelectedItem != null)
            {
                dts = ThanhToanBUS.LoadThanhToan().Where(x =>
                                                         x.THANG.ToString() == cbFMonth.SelectedItem.ToString() &&
                                                         x.NAM.ToString() == cbFYear.SelectedItem.ToString()
                                                         ).ToList();
            }
            else
            {
                dts = ThanhToanBUS.LoadThanhToan();
            }

            string keyword = tbKeyword.Text;

            gvThanhToan.DataSource = dts.Where(x =>
                                               keyword.Length == 0 ||
                                               x.KHACHHANG.ToString().Contains(keyword) ||
                                               x.IDSIM.Contains(keyword) ||
                                               x.ThanhToan.Contains(keyword)
                                               ).ToList();
        }
Beispiel #2
0
        public void Update_TestCase3()
        {
            ThanhToanDTO thanhToanDTO = new ThanhToanDTO
            {
                MaThanhToan     = TestCommon.LEN_10,
                MaHoSo          = TestCommon.LEN_10,
                ChiPhiKham      = 1,
                ChiPhiXetNghiem = 1,
                TongChiPhi      = 2,
            };

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();

            thanhToanBUS.InsertThanhToan(db, thanhToanDTO);

            ThanhToanDTO thanhtoanUpdate = new ThanhToanDTO
            {
                MaThanhToan     = TestCommon.LEN_10,
                MaHoSo          = TestCommon.LEN_10,
                ChiPhiKham      = -1,
                ChiPhiXetNghiem = -1,
                TongChiPhi      = -2,
            };

            string actual   = thanhToanBUS.UpdateThanhToan(db, thanhtoanUpdate);
            string expected = "1111";

            Assert.Equals(expected, actual);
        }
Beispiel #3
0
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            if (gvThanhToan.SelectedRows.Count == 0)
            {
                MessageBox.Show("Vui lòng chọn dòng muốn cập nhật trạng thái thanh toán", "Thông báo!");
                return;
            }

            if (MessageBox.Show("Xác nhận cập nhật trạng thái thanh toán?", "Thông báo", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                try
                {
                    ThanhToanBUS bus = new ThanhToanBUS();

                    foreach (DataGridViewRow row in gvThanhToan.SelectedRows)
                    {
                        HDTC hd = bus.GetByID(int.Parse(gvThanhToan.Rows[row.Index].Cells[0].Value.ToString()));

                        hd.THANHTOAN = true;

                        bus.EditThanhToan(hd);
                    }

                    LoadThanhToan();

                    MessageBox.Show("Đã cập nhật!", "Thông báo!");
                }
                catch
                {
                    MessageBox.Show("Không thể cập nhật!", "Thông báo!");
                }
            }
        }
Beispiel #4
0
        public void Update_TestCase4()
        {
            ThanhToanDTO thanhToanDTO = new ThanhToanDTO
            {
                MaThanhToan     = TestCommon.LEN_10,
                MaHoSo          = TestCommon.LEN_10,
                ChiPhiKham      = 1,
                ChiPhiXetNghiem = 1,
                TongChiPhi      = 2,
                NhanVienThu     = TestCommon.LEN_10,
                NgayThu         = TestCommon.LEN_8
            };

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();

            thanhToanBUS.InsertThanhToan(db, thanhToanDTO);

            ThanhToanDTO thanhtoanUpdate = new ThanhToanDTO
            {
                MaThanhToan     = TestCommon.LEN_10 + "1",
                MaHoSo          = TestCommon.LEN_10 + "1",
                ChiPhiKham      = 1111111111111,
                ChiPhiXetNghiem = 1111111111111,
                TongChiPhi      = 22222222222222,
                NhanVienThu     = TestCommon.LEN_10 + "1",
                NgayThu         = TestCommon.LEN_8 + "1"
            };

            string actual   = thanhToanBUS.UpdateThanhToan(db, thanhtoanUpdate);
            string expected = "1111";

            Assert.Equals(expected, actual);
        }
Beispiel #5
0
        void RefreshDataBindingTienGio()
        {
            tienGio = new DataTable();
            tienGio.Columns.Add(new DataColumn("Ngay"));
            tienGio.Columns.Add(new DataColumn("KhoangThoiGian"));
            tienGio.Columns.Add(new DataColumn("DonGia"));
            tienGio.Columns.Add(new DataColumn("SoLuong"));
            tienGio.Columns.Add(new DataColumn("GioBD", typeof(double)));
            tienGio.Columns.Add(new DataColumn("Phong"));
            tienGio.Columns.Add(new DataColumn("colType"));

            TongTienGio = 0;
            foreach (DTO.ThongTinThanhToanTheoNgay ngay in ThanhToanBUS.TinhTienThuePhong(thuePhong, txtGioRa.Time).listThongTin)
            {
                TongTienGio += ngay.TongThanhTien;
                foreach (LoaiPhongDTO.DonGiaTheoKhoangThoiGian dongia in ngay.listDonGiaTheoKhoangThoiGian)
                {
                    DataRow dr = tienGio.NewRow();

                    dr["Ngay"]           = ngay.ngay.Thu + " (" + ngay.ngay.date.ToString("dd-MM-yyyy") + ")";
                    dr["KhoangThoiGian"] = dongia.GioBatDau + " - " + dongia.GioKetThuc;
                    dr["GioBD"]          = dongia.GioBatDau.hour * 3600 + dongia.GioBatDau.minute * 60 + dongia.GioBatDau.second;
                    dr["DonGia"]         = dongia.DonGia;
                    dr["SoLuong"]        = Math.Round(ThongTinThanhToanTheoNgay.Gio.CalcTimeSpan(dongia.GioBatDau, dongia.GioKetThuc).TotalHours, 2);
                    dr["Phong"]          = PhongBUS.LayThongTinPhong(thuePhong.MaPhong).TenPhong;

                    tienGio.Rows.Add(dr);
                }
            }

            txtTienGio.Properties.DataSource = tienGio;
            txtTienGio.Properties.NullText   = TongTienGio.ToString("###,###,###,##0 VNĐ");
        }
Beispiel #6
0
        public void GetThanhToan_TestCase2()
        {
            ThanhToanDTO thanhToanDTO = null;

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();

            string actual   = thanhToanBUS.GetThanhToan(db, "1234567890", out thanhToanDTO);
            string expected = "1111";

            Assert.Equals(actual, expected);
        }
Beispiel #7
0
        public string GetThanhToan(string MaHoSo, out ThanhToanDTO thanhToan)
        {
            string       result;
            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();

            using (QLPHONGKHAMEntities db = new QLPHONGKHAMEntities())
            {
                result = thanhToanBUS.GetThanhToan(db, MaHoSo, out thanhToan);
            }
            return(result);
        }
 public ActionResult TaoTrangDatHang(ThanhToan tt)
 {
     try
     {
         // TODO: Add insert logic here
         ThanhToanBUS.ThemHD(tt);
         return(RedirectToAction("IndexDatHang", "GioHang"));
     }
     catch
     {
         return(View());
     }
 }
Beispiel #9
0
 public ActionResult Create(ThanhToan tt)
 {
     try
     {
         // TODO: Add insert logic here
         ThanhToanBUS.ThemHD(tt);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Beispiel #10
0
 public ActionResult Edit(String id, ThanhToan tt)
 {
     try
     {
         // TODO: Add update logic here
         ThanhToanBUS.UpdateHD(id, tt);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Beispiel #11
0
        public void Insert_TestCase2()
        {
            ThanhToanDTO thanhToanDTO = new ThanhToanDTO
            {
                MaThanhToan = TestCommon.LEN_10,
            };

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();
            string       actual       = thanhToanBUS.InsertThanhToan(db, thanhToanDTO);
            string       expected     = "1111";

            Assert.Equals(expected, actual);
        }
Beispiel #12
0
        public ActionResult XoaTamThoi(String id, ThanhToan tt)
        {
            try
            {
                // TODO: Add delete logic here
                tt.TinhTrang = "1";
                ThanhToanBUS.UpdateHD(id, tt);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Beispiel #13
0
        public void Insert_TestCase3()
        {
            ThanhToanDTO thanhToanDTO = new ThanhToanDTO
            {
                MaThanhToan     = TestCommon.LEN_10,
                MaHoSo          = TestCommon.LEN_10,
                ChiPhiKham      = -100000000000,
                ChiPhiXetNghiem = -100000000000,
                TongChiPhi      = -200000000000,
            };

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();
            string       actual       = thanhToanBUS.InsertThanhToan(db, thanhToanDTO);
            string       expected     = "1111";

            Assert.Equals(expected, actual);
        }
Beispiel #14
0
        public void Insert_TestCase1()
        {
            ThanhToanDTO thanhToanDTO = new ThanhToanDTO
            {
                MaThanhToan     = TestCommon.LEN_10,
                MaHoSo          = TestCommon.LEN_10,
                ChiPhiKham      = 100000000000,
                ChiPhiXetNghiem = 100000000000,
                TongChiPhi      = 200000000000,
                NhanVienThu     = TestCommon.LEN_10,
                NgayThu         = TestCommon.LEN_8
            };

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();
            string       actual       = thanhToanBUS.InsertThanhToan(db, thanhToanDTO);
            string       expected     = "0000";

            Assert.Equals(expected, actual);
        }
Beispiel #15
0
        public void GetThanhToan_TestCase1()
        {
            // create data search
            db.THANHTOANs.Add(new THANHTOAN {
                MaHoSo = "1234567890"
            });
            db.THANHTOANs.Add(new THANHTOAN {
                MaHoSo = "1234567891"
            });
            db.THANHTOANs.Add(new THANHTOAN {
                MaHoSo = "1234567892"
            });

            ThanhToanDTO thanhToanDTO = null;

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();

            string actual   = thanhToanBUS.GetThanhToan(db, "1234567890", out thanhToanDTO);
            string expected = "0000";

            Assert.Equals(actual, expected);
        }
Beispiel #16
0
        public void Update_TestCase2()
        {
            ThanhToanDTO thanhToanDTO = new ThanhToanDTO
            {
                MaThanhToan = TestCommon.LEN_10,
                MaHoSo      = TestCommon.LEN_10,
            };

            ThanhToanBUS thanhToanBUS = new ThanhToanBUS();

            thanhToanBUS.InsertThanhToan(db, thanhToanDTO);

            ThanhToanDTO thanhtoanUpdate = new ThanhToanDTO
            {
                MaThanhToan = TestCommon.LEN_10,
            };

            string actual   = thanhToanBUS.UpdateThanhToan(db, thanhtoanUpdate);
            string expected = "1111";

            Assert.Equals(expected, actual);
        }
Beispiel #17
0
        public string SaveHoSo(HoSoBenhAnDTO hoSoBenhAn,
                               ThanhToanDTO thanhToan)
        {
            TrangThaiPhongDTO trangThaiPhong = null;
            // get System date
            string SystemDate = DateTime.Now.ToString("yyyyMMdd");

            ThanhToanBUS      thanhToanBUS      = new ThanhToanBUS();
            HoSoBenhAnBUS     hoSoBenhAnBUS     = new HoSoBenhAnBUS();
            LuonCongViecBUS   luonCongViecBUS   = new LuonCongViecBUS();
            TrangThaiPhongBUS trangThaiPhongBUS = new TrangThaiPhongBUS();

            using (QLPHONGKHAMEntities db = new QLPHONGKHAMEntities())
            {
                // lấy trạng thái phòng
                trangThaiPhongBUS.GetTrangThaiPhong(db, hoSoBenhAn.MaPhongKham, SystemDate, out trangThaiPhong);
                trangThaiPhong.SttCaoNhat += 1;

                // setting ho so
                string maHoSo;
                hoSoBenhAnBUS.CreateIdHoSoBenhAn(db, out maHoSo);
                hoSoBenhAn.MaHoSo = maHoSo;
                // nếu là hồ sơ tái khám
                if (hoSoBenhAn.MaLoaiHoSo == BusConstant.HS_TAIKHAM)
                {
                    HoSoBenhAnDTO root = new HoSoBenhAnDTO();

                    // get MaHoSoGoc
                    hoSoBenhAnBUS.GetRootHoSoBenhAn(db, hoSoBenhAn.MaHoSoTruoc, out root);
                    hoSoBenhAn.MaHoSoGoc = root.MaHoSoGoc;
                }
                hoSoBenhAn.SoThuTu = trangThaiPhong.SttCaoNhat;

                // điền thông tin vào thanh toán
                string MaThanhToan = "";
                thanhToanBUS.CreateIdThanhToan(db, out MaThanhToan);
                thanhToan.MaThanhToan = MaThanhToan;
                thanhToan.TongChiPhi  = thanhToan.ChiPhiKham;
                thanhToan.MaHoSo      = hoSoBenhAn.MaHoSo;
                // điền thông tin Workflow
                LuonCongViecDTO luonCongViec = new LuonCongViecDTO();
                luonCongViec.MaHoSo      = hoSoBenhAn.MaHoSo;
                luonCongViec.NodeHienTai = BusConstant.NODE_KHAM;
                luonCongViec.TiepNhan    = true;
                luonCongViec.XetNghiem   = false;
                luonCongViec.KhamBenh    = false;

                // Tạo transaction
                using (var trans = db.Database.BeginTransaction())
                {
                    // save hồ sơ
                    if (hoSoBenhAnBUS.AddHoSoBenhAn(db, hoSoBenhAn) == Constant.RES_FAI)
                    {
                        trans.Rollback();
                        return(Constant.RES_FAI);
                    }
                    // save luồn công việc
                    if (luonCongViecBUS.AddLuonCongViec(db, luonCongViec) == Constant.RES_FAI)
                    {
                        trans.Rollback();
                        return(Constant.RES_FAI);
                    }
                    // save thanh toán
                    if (thanhToanBUS.InsertThanhToan(db, thanhToan) == Constant.RES_FAI)
                    {
                        trans.Rollback();
                        return(Constant.RES_FAI);
                    }
                    // update Trang thanh phong
                    if (trangThaiPhongBUS.UpdateTrangThaiPhong(db, trangThaiPhong) == Constant.RES_FAI)
                    {
                        trans.Rollback();
                        return(Constant.RES_FAI);
                    }
                    trans.Commit();
                }
                db.SaveChanges();
            }
            return(Constant.RES_SUC);
        }
Beispiel #18
0
        public void RefreshDataBinding(ThuePhongDTO thuePhongDTO, KhachHangDTO khachHangDTO)
        {
            txtTienGio.ReadOnly = false;
            gridView1.OptionsBehavior.ReadOnly = false;

            this.thuePhong = thuePhongDTO;

            txtGioVao.Time = thuePhong.GioThuePhong;
            txtGioRa.Time  = (thuePhong.GioTraPhong == DateTime.MinValue) ?DateTime.Now : thuePhong.GioTraPhong;

            thuePhong.GioTraPhong = txtGioRa.Time;

            listKhuyenMai = new Dictionary <int, DichVuPhongDTO>();

            RefreshDataBindingTienGio();


            loaiKhachHang = LoaiKhachHangBUS.LayLoaiKhachHang(khachHangDTO);


            DichVuPhongDTO dichVuPhongDTO;

            //Kiểm tra các ngày đặt biệt
            foreach (DTO.ThongTinThanhToanTheoNgay ngay in ThanhToanBUS.TinhTienThuePhong(thuePhong, DateTime.Now).listThongTin)
            {
                //Sinh nhật
                if (ngay.ngay.date.Day == khachHangDTO.NgaySinh.Day && ngay.ngay.date.Month == khachHangDTO.NgaySinh.Month && khachHangDTO.MaKH != 0)
                {
                    if (TongTienGio * loaiKhachHang.PhanTramGiamGiaSinhNhat > loaiKhachHang.SoTienGiamGiaSinhNhat_Max)
                    {
                        dichVuPhongDTO = new DichVuPhongDTO(-1, thuePhong.MaThuePhong, 1, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGiaSinhNhat_Max);
                    }
                    else if ((TongTienGio * loaiKhachHang.PhanTramGiamGiaSinhNhat < loaiKhachHang.SoTienGiamGiaSinhNhat_Min))
                    {
                        dichVuPhongDTO = new DichVuPhongDTO(-1, thuePhong.MaThuePhong, 1, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGiaSinhNhat_Min);
                    }
                    else
                    {
                        dichVuPhongDTO = new DichVuPhongDTO(-1, thuePhong.MaThuePhong, 1, DateTime.Now, 1.0, -(TongTienGio * loaiKhachHang.PhanTramGiamGiaSinhNhat));
                    }

                    if (dichVuPhongDTO.DonGia != 0)
                    {
                        listKhuyenMai.Add(dichVuPhongDTO.MaDVP, dichVuPhongDTO);
                    }
                }
            }

            //KM Loại KH
            if (TongTienGio * loaiKhachHang.PhanTramGiamGia > loaiKhachHang.SoTienGiamGia_Max)
            {
                dichVuPhongDTO = new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, 2, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGia_Max);
            }
            else if ((TongTienGio * loaiKhachHang.PhanTramGiamGia < loaiKhachHang.SoTienGiamGia_Min))
            {
                dichVuPhongDTO = new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, 2, DateTime.Now, 1.0, -loaiKhachHang.SoTienGiamGia_Min);
            }
            else
            {
                dichVuPhongDTO = new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, 2, DateTime.Now, 1.0, -(TongTienGio * loaiKhachHang.PhanTramGiamGia));
            }

            if (dichVuPhongDTO.DonGia != 0 && khachHangDTO.MaKH != 0)
            {
                listKhuyenMai.Add(dichVuPhongDTO.MaDVP, dichVuPhongDTO);
            }

            RefreshDataBindingDichVuPhong();
        }
Beispiel #19
0
        // GET: Admin/HoaDon
        public ActionResult Index()
        {
            var ds = ThanhToanBUS.DanhSachHD();

            return(View(ds));
        }
Beispiel #20
0
 // GET: Admin/HoaDonAdmin/Delete/5
 public ActionResult XoaTamThoi(String id)
 {
     return(View(ThanhToanBUS.ChiTietKH(id)));
 }
Beispiel #21
0
        // xử lý thanh toán
        public string ThanhToanProcessing(List <KetQuaXetNghiemDTO> ketQuaXetNghiems)
        {
            if (ketQuaXetNghiems == null || ketQuaXetNghiems.Count == 0)
            {
                return(Constant.RES_FAI);
            }
            KetQuaXetNghiemBUS ketQuaXetNghiemBUS = new KetQuaXetNghiemBUS();
            ThanhToanBUS       thanhToanBUS       = new ThanhToanBUS();
            LuonCongViecBUS    luonCongViecBUS    = new LuonCongViecBUS();

            using (QLPHONGKHAMEntities db = new QLPHONGKHAMEntities())
            {
                ThanhToanDTO thanhToan = new ThanhToanDTO();
                if (thanhToanBUS.GetThanhToan(db, ketQuaXetNghiems.ElementAt(0).MaHoSo, out thanhToan) == Constant.RES_FAI)
                {
                    return(Constant.RES_FAI);
                }
                if (thanhToan == null)
                {
                    return(Constant.RES_FAI);
                }
                decimal tongtien = 0;
                foreach (var kq in ketQuaXetNghiems)
                {
                    tongtien += kq.TongChiPhi;
                }
                thanhToan.TongChiPhi     += tongtien;
                thanhToan.ChiPhiXetNghiem = tongtien;

                LuonCongViecDTO luonCongViec = new LuonCongViecDTO();
                if (luonCongViecBUS.GetInformationLuonCongViec(db, thanhToan.MaHoSo, out luonCongViec) == Constant.RES_FAI)
                {
                    return(Constant.RES_FAI);
                }

                luonCongViec.NodeHienTai = BusConstant.NODE_XET_NGHIEM;
                using (var trans = db.Database.BeginTransaction())
                {
                    foreach (var kq in ketQuaXetNghiems)
                    {
                        // yeu cau PRESENT phai update doi tuong
                        if (ketQuaXetNghiemBUS.UpdateKetQuaXetNghiem(db, kq).Equals(Constant.RES_FAI))
                        {
                            trans.Rollback();
                            return(Constant.RES_FAI);
                        }
                    }
                    if (thanhToanBUS.UpdateThanhToan(db, thanhToan).Equals(Constant.RES_FAI))
                    {
                        trans.Rollback();
                        return(Constant.RES_FAI);
                    }
                    if (luonCongViecBUS.UpdateLuonCongViec(db, luonCongViec).Equals(Constant.RES_FAI))
                    {
                        trans.Rollback();
                        return(Constant.RES_FAI);
                    }
                    trans.Commit();
                }
                db.SaveChanges();
            }
            return(Constant.RES_SUC);
        }
Beispiel #22
0
 // GET: Admin/HoaDonAdmin/Edit/5
 public ActionResult Edit(String id)
 {
     ViewBag.MaPTTT = new SelectList(PTTTBUS.DanhSachPT(), "MaPTTT", "TenPTTT", ThanhToanBUS.ChiTietKH(id).MaPTTT);
     return(View(ThanhToanBUS.ChiTietKH(id)));
 }