public async Task <IHttpActionResult> HieuChinh(HoaDonDTO input)
        {
            try
            {
                HoaDon entity = await db.HoaDons.FindAsync(input.ID);

                if (entity == null)
                {
                    return(BadRequest($"Hóa đơn ID ={input.ID} không tồn tại"));
                }
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                entity.HoTenKhach = input.HoTenKhach;
                entity.DiaChi     = input.DiaChi;
                entity.DienThoai  = input.DienThoai;
                entity.Email      = input.Email;

                await db.SaveChangesAsync();

                return(Ok($"Sửa hóa đơn thành công"));
            }
            catch (Exception ex)
            {
                return(BadRequest($"Hiệu chỉnh không thành công {ex.Message}"));
            }
        }
예제 #2
0
        protected void grvHoaDon_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ChonHD")
            {
                string maHD = e.CommandArgument.ToString();

                HoaDonDTO hd = HoaDonBUS.LayThongTinHoaDon(maHD);

                if (hd != null)
                {
                    txtMaHD.Text           = hd.MaHD;
                    txtTenTaiKhoan.Text    = hd.TenTaiKhoan;
                    txtNgayMua.Text        = Convert.ToString(hd.NgayMua);
                    txtDiaChiGiaoHang.Text = hd.DiaChiGiaoHang;
                    txtSDTGiaoHang.Text    = hd.SDTGiaoHang;
                    txtTongTien.Text       = Convert.ToString(hd.TongTien);
                    chkTrangThai.Checked   = hd.TrangThai;
                    GiaoDienThem(false);
                }
            }
            if (e.CommandName == "XoaHD")
            {
                string maHD = e.CommandArgument.ToString();

                if (HoaDonBUS.XoaHoaDon(maHD))
                {
                    XoaForm();
                    LoadHoaDon();
                }
                else
                {
                    Response.Write("<script>alert('Xóa sản phẩm thất bại');</script>");
                }
            }
        }
        private void btnLapHoaDon_Click(object sender, EventArgs e)
        {
            if (dgvDanhSachPhongThanhToan.Rows.Count > 0)
            {
                HoaDonDTO hd = new HoaDonDTO();
                List <ChiTietHoaDonDTO> dscthd = new List <ChiTietHoaDonDTO>();

                for (int i = 0; i < dgvDanhSachPhongThanhToan.Rows.Count; i++)
                {
                    ChiTietHoaDonDTO cthd = new ChiTietHoaDonDTO();

                    cthd.MaPhong    = dgvDanhSachPhongThanhToan.Rows[i].Cells[1].Value.ToString();
                    cthd.SoNgayThue = int.Parse(dgvDanhSachPhongThanhToan.Rows[i].Cells[4].Value.ToString());
                    cthd.DonGia     = double.Parse(dgvDanhSachPhongThanhToan.Rows[i].Cells[5].Value.ToString());
                    cthd.ThanhTien  = double.Parse(dgvDanhSachPhongThanhToan.Rows[i].Cells[6].Value.ToString());

                    dscthd.Add(cthd);
                }

                hd.MaKhachHang   = cbKhachHang.SelectedValue.ToString();
                hd.NgayThanhToan = ngayThanhToan.Value.Date.ToString("yyyy-MM-dd");
                hd.TriGia        = double.Parse(txtTongGiaTri.Text);

                BLL.ThemThanhToan(hd, dscthd);
                MessageBox.Show("Thêm thành công");
                dgvDanhSachPhongThanhToan.Rows.Clear();
                txtTongGiaTri.Text = "0";
                index = 0;
            }
            else
            {
                MessageBox.Show("Chưa Nhập Phòng Thanh Toán");
            }
        }
        /// <summary>
        /// load dử liệu vào hóa đơn. thông tin hóa đơn
        /// </summary>
        /// <param name="list"></param>
        void loadDtgvBills(string MAKH, string MAHD)
        {
            listHOADON                        = cthdDAO.Instance.getListItemPreByMAKHandMAHD(MAKH, MAHD);
            TotalPrice                        = 0;
            dtgvBills.DataSource              = null;
            dtgvBills.DataSource              = listHOADON;
            dtgvBills.Columns[1].HeaderText   = "Tên món ăn";
            dtgvBills.Columns[2].HeaderText   = "Giá";
            dtgvBills.Columns[3].HeaderText   = "Số lượng";
            dtgvBills.Columns[4].HeaderText   = "Thành tiền";
            dtgvBills.Columns[5].Visible      = false;
            dtgvBills.Columns["MABA"].Visible = false;
            dtgvBills.Columns[7].Visible      = false;
            dtgvBills.Columns["MAHD"].Visible = false;

            foreach (ThongTinHoaDonDTO item in listHOADON)
            {
                TotalPrice += item.GIA * item.SoLuongMA;
            }
            PrePrice = 0;
            HoaDonDTO hoaDon = HoaDonDAO.Instance.getHoaDonbyMaHD(MAHD);

            if (hoaDon != null)
            {
                PrePrice = (TotalPrice * ThamSo.PrePersen / 100) - hoaDon.TIENDATHANHTOAN;
            }
            loadLblMoney(TotalPrice, PrePrice);
        }
        public static HoaDonDTO SelectHoaDonById(String hoadonID)
        {
            HoaDonDTO hoadon = new HoaDonDTO();

            try
            {
                // Create List Sql Parameter
                List <MySqlParameter> parameters = new List <MySqlParameter>();
                parameters.Add(new MySqlParameter("@MaHD", hoadonID));

                DataTable dt = MySqlDataAccessHelper.ExecuteQuery("SELECT * FROM hoadon WHERE MaHD = @MaHD", parameters);
                DataRow   dr = dt.Rows[0];
                hoadon.MaHD      = dr["MaHD"].ToString();
                hoadon.NgayLapHD = DateTime.Parse(dr["NgayLapHD"].ToString());
                hoadon.TongTien  = int.Parse(dr["TongTien"].ToString());
                hoadon.MaKH      = dr["FK_MaKH"].ToString();
                hoadon.GiamGia   = int.Parse(dr["GiamGia"].ToString());
                hoadon.ThanhTien = int.Parse(dr["ThanhTien"].ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(hoadon);
        }
        public static bool InsertHoaDon(HoaDonDTO hoadon)
        {
            bool result = false;

            try
            {
                //create a list parameter
                List <MySqlParameter> parameters = new List <MySqlParameter>();
                //parameters.Add(new MySqlParameter("@MaTK", taikhoan.MaTK));
                parameters.Add(new MySqlParameter("@MaHD", hoadon.MaHD));
                parameters.Add(new MySqlParameter("@NgayLapHD", hoadon.NgayLapHD));
                parameters.Add(new MySqlParameter("@TongTien", hoadon.TongTien));
                parameters.Add(new MySqlParameter("@MaKH", hoadon.MaKH));
                parameters.Add(new MySqlParameter("@ThanhTien", hoadon.ThanhTien));
                parameters.Add(new MySqlParameter("@GiamGia", hoadon.GiamGia));


                //call store Procedure
                int n = MySqlDataAccessHelper.ExecuteNonQuery("INSERT INTO hoadon (MaHD, NgayLapHD, TongTien, FK_MaKH, GiamGia, ThanhTien) VALUES(@MaHD, @NgayLapHD, @TongTien, @MaKH, @GiamGia, @ThanhTien)", parameters);
                if (n == 1)
                {
                    result = true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
예제 #7
0
        public static List <HoaDonDTO> LayHoaDonTheoTuKhoa(string tukhoa)
        {
            List <HoaDonDTO> lhd = new List <HoaDonDTO>();

            try
            {
                SqlDataReader reader = DataProvider.TimHoaDonTheoTuKhoa("TimHoaDonTheoTuKhoa", tukhoa);

                while (reader.Read())
                {
                    HoaDonDTO hd = new HoaDonDTO();
                    hd.SoHD       = reader.GetInt32(0);
                    hd.MaKH       = reader.GetString(1);
                    hd.MaNV       = reader.GetString(2);
                    hd.NgayHoaDon = reader.GetDateTime(3);
                    hd.TriGia     = (int)reader.GetDecimal(4);
                    lhd.Add(hd);
                }
                reader.Close();
            }
            catch
            {
            }
            return(lhd);
        }
예제 #8
0
        private void btn_thanhtoan_Click(object sender, EventArgs e)
        {
            FrmXemBaoCao f     = new FrmXemBaoCao();
            HoaDonBUS    hdBUS = new HoaDonBUS();

            try
            {
                bool ktThanhToan = hdBUS.ThanhToan(hdHienHanh);
                if (ktThanhToan)
                {
                    FrmChinh frmmain = (FrmChinh)this.MdiParent;
                    frmmain.lsNDDTO = new LichSuNguoiDungDTO()
                    {
                        MAND     = frmmain.nvDangNhap.MAND,
                        MANV     = frmmain.nvDangNhap.MANV,
                        THOIGIAN = DateTime.Parse(DateTime.Now.ToString("dd/MM/yyy HH:mm")),
                        SUKIEN   = "Hóa đơn " + hdHienHanh.MAHD + "được thanh toán"
                    };
                    bool ktls = frmmain.lsNDBUS.ThemLichSuNguoiDung(frmmain.lsNDDTO);
                    hdHienHanh = hdBUS.DanhSachHoaDon().Find(o => o.MAHD.Trim() == hdHienHanh.MAHD.Trim());
                    f.XemHoaDon(hdHienHanh);
                    loaddata();
                }
            }
            catch
            {
                MessageBox.Show("Chưa chọn hóa đơn");
            }
            hdHienHanh = null;
            f.Show();
        }
예제 #9
0
        public string insert(HoaDonDTO obj)
        {
            string query = string.Empty;

            query += "INSERT INTO [tblkhachhang] ([makh])";
            query += "VALUES (@makh)";
            query += "INSERT INTO [tblhoadon] ([mahd],[makh],[masach],[ngaylap],[soluong])";
            query += "VALUES (@mahd,@makh,@masach,@ngaylap,@soluong)";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand comm = new SqlCommand())
                {
                    comm.Connection  = conn;
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = query;
                    comm.Parameters.AddWithValue("@mahd", obj.MaHoaDon);
                    comm.Parameters.AddWithValue("@makh", obj.MaKhachHang);
                    comm.Parameters.AddWithValue("@masach", obj.MaSach);
                    comm.Parameters.AddWithValue("@ngaylap", obj.NgayLapHoaDon);
                    comm.Parameters.AddWithValue("@soluong", obj.SoLuong);
                    try
                    {
                        conn.Open();
                        comm.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        conn.Close();
                        return("Thêm hóa đơn thất bại\n" + ex.Message + "\n");
                    }
                }
            }
            return("0");
        }
예제 #10
0
        public static List <HoaDonDTO> LayDanhSachHoaDon()
        {
            List <HoaDonDTO> lhd = new List <HoaDonDTO>();

            try
            {
                SqlDataReader reader = DataProvider.TruyVanSqlDataReader("LayDanhSachHoaDon");

                while (reader.Read())
                {
                    HoaDonDTO hd = new HoaDonDTO();
                    hd.SoHD       = reader.GetInt32(0);
                    hd.MaKH       = reader.GetString(1);
                    hd.MaNV       = reader.GetString(2);
                    hd.NgayHoaDon = reader.GetDateTime(3);
                    hd.TriGia     = (int)reader.GetDecimal(4);
                    lhd.Add(hd);
                }
                reader.Close();
            }
            catch
            {
            }
            return(lhd);
        }
        public static int AddBill(HoaDonDTO bill)
        {
            string querry1 = @"INSERT INTO HoaDon (Ngay, ThanhTien, SoTienThanhToan) VALUES
('" + bill.Ngay + "', '" + bill.ThanhTien + "', '" + bill.SoTienThanhToan + "')";
            int    result  = DataProvider.ExecuteNonQuerry(querry1);

            if (result <= 0)
            {
                return(0);
            }
            string querry2 = @"SELECT IDENT_CURRENT('HoaDon') AS Id";
            string id      = DataProvider.ExecuteQuerry(querry2).Rows[0]["Id"].ToString();

            foreach (SachDTO item in bill.Sach)
            {
                string querry = @"INSERT INTO Sach_HoaDon (SoLuong, HoaDon, Sach) VALUES (" + item.LuongTon + "," + id +
                                "," + item.Id + ")";
                int res = DataProvider.ExecuteNonQuerry(querry);
                if (result <= 0)
                {
                    return(0);
                }
            }
            return(1);
        }
예제 #12
0
        public string delete(HoaDonDTO obj)
        {
            string query = string.Empty;

            query += " DELETE FROM [HOADON] ";
            query += " WHERE ";
            query += " [MaHoaDon] = @MaHoaDon ";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand comm = new SqlCommand())
                {
                    comm.Connection  = conn;
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = query;
                    comm.Parameters.AddWithValue("@MaHoaDon", obj.MaHD);
                    try
                    {
                        conn.Open();
                        comm.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        conn.Close();
                        //' xóa that bai!!!
                        return("Xóa hóa đơn thất bại\n" + ex.Message + "\n" + ex.StackTrace);
                    }
                }
            }
            return("0");
        }
예제 #13
0
        public string insert(HoaDonDTO obj)
        {
            string query = string.Empty;

            query += "INSERT INTO [HOADON] ([MaHoaDon], [MaKhachHang], [NgayLapHoaDon], [TongThanhTien])";
            query += "VALUES (@MaHoaDon,@MaKhachHang,@NgayLapHoaDon,@TongThanhTien)";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand comm = new SqlCommand())
                {
                    comm.Connection  = conn;
                    comm.CommandType = CommandType.Text;
                    comm.CommandText = query;
                    comm.Parameters.AddWithValue("@MaHoaDon", obj.MaHD);
                    comm.Parameters.AddWithValue("@MaKhachHang", obj.MaKH);
                    comm.Parameters.AddWithValue("@NgayLapHoaDon", obj.NgayLap);
                    comm.Parameters.AddWithValue("@TongThanhTien", obj.TongThanhTien);
                    try
                    {
                        conn.Open();
                        comm.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        conn.Close();
                        // them that bai!!!
                        return("Thêm ngày nhập phiếu thất bại\n" + ex.Message + "\n" + ex.StackTrace);
                    }
                }
            }
            return("0");
        }
예제 #14
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            int currentRowIndex = this.dgvDanhSachHoaDon.CurrentCellAddress.Y; //'current row selected

            //Verify that indexing OK
            if (-1 < currentRowIndex && currentRowIndex < dgvDanhSachHoaDon.RowCount)
            {
                HoaDonDTO obj = (HoaDonDTO)dgvDanhSachHoaDon.Rows[currentRowIndex].DataBoundItem;
                this.txtMaHD.Text     = obj.MaHD;
                this.txtMaKH.Text     = obj.MaKH;
                this.dtpNgayLap.Text  = obj.NgayLap;
                this.txtTongTien.Text = obj.TongThanhTien.ToString();
                string result = this.bus.delete(obj);
                if (result == "0")
                {
                    MessageBox.Show("Xóa hóa đơn thành công", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    this.buildDanhSach();
                    return;
                }
                else
                {
                    MessageBox.Show("Xóa hóa đơn thất bại.\n" + result, "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            else
            {
                MessageBox.Show("Chưa chọn phiếu nhập trên lưới.", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }
예제 #15
0
        private void btnThem_HD_Click(object sender, EventArgs e)
        {
            try
            {
                TongTien = 0;
                HoaDonDTO hd = new HoaDonDTO();
                hd.year  = dtpNgayLapHD.Value.Year;
                hd.month = dtpNgayLapHD.Value.Month;
                hd.day   = dtpNgayLapHD.Value.Day;
                hd.ma_hd = txtMHD.Text;

                string       ma    = txtTenKHHD.Text;
                KhachHangDTO kHang = new KhachHangDTO();
                kHang    = KhachHangBUS.Search_KH(ma);
                hd.ma_kh = kHang.ma_kh;

                hd.ma_nv = cbxNVLHD.SelectedValue.ToString();
                HoaDonBUS.insert_HD(hd);
                MessageBox.Show("Thêm thành công!", "Thông báo", MessageBoxButtons.OK);
                load_data();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #16
0
 public bool UpdateRow(HoaDonDTO obj)
 {
     try
     {
         if (_connection.State != ConnectionState.Open)
         {
             _connection.Open();
         }
         const string sql = "UPDATE [dbo].[HoaDon]\n"
                            + "   SET [MaKhachHang] = @MaKhachHang\n"
                            + "      ,[MaNhanVien] = @MaNhanVien\n"
                            + "      ,[NgayHoaDon] = @NgayHoaDon\n"
                            + "      ,[GiamGia] = @GiamGia\n"
                            + "      ,[TienKhachDua] = @TienKhachDua\n"
                            + "      ,[TienKhachDaTra]=@TienKhachDaTra\n"
                            + " WHERE [MaHoaDon] = @MaHoaDon";
         SqlCommand cmd = new SqlCommand(sql, _connection);
         cmd.Parameters.Add("@MaHoaDon", SqlDbType.Char).Value        = obj.MaHoaDon;
         cmd.Parameters.Add("@MaKhachHang", SqlDbType.Char).Value     = obj.MaKhachHang;
         cmd.Parameters.Add("@MaNhanVien", SqlDbType.Char).Value      = obj.MaNhanVien;
         cmd.Parameters.Add("@NgayHoaDon", SqlDbType.Date).Value      = obj.NgayHoaDon;
         cmd.Parameters.Add("@GiamGia", SqlDbType.Money).Value        = obj.GiamGia;
         cmd.Parameters.Add("@TienKhachDaTra", SqlDbType.Money).Value = obj.TienKhachDaTra;
         cmd.Parameters.Add("@TienKhachDua", SqlDbType.Money).Value   = obj.TienKhachDua;
         cmd.ExecuteNonQuery();
         _connection.Close();
         return(true);
     }
     catch (Exception ex)
     {
         _connection.Close();
         Console.WriteLine(ex.Message);
     }
     return(false);
 }
예제 #17
0
        public bool them(HoaDonDTO hd)
        {
            string query = string.Empty;

            query += "INSERT INTO HOADON (mahd,mapk,ngaylap,tienthuoc,tongtien) VALUES (@mahd,@mapk,@ngaylap,@tienthuoc,@tongtien)";
            using (MySqlConnection con = new MySqlConnection(ConfigurationManager.AppSettings["ConnectionString"]))
            {
                using (MySqlCommand cmd = new MySqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;
                    cmd.Parameters.AddWithValue("@mahd", hd.MaHD1);
                    cmd.Parameters.AddWithValue("@mapk", hd.MaPK1);
                    cmd.Parameters.AddWithValue("@ngaylap", hd.NgayLap1);
                    cmd.Parameters.AddWithValue("@tienthuoc", hd.TienThuoc1);
                    cmd.Parameters.AddWithValue("@tongtien", hd.TongTien1);
                    try
                    {
                        con.Open();
                        cmd.ExecuteNonQuery();
                        con.Close();
                        return(true);

                        con.Dispose();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                    }
                }
            }
            return(false);
        }
예제 #18
0
        public int MsNVTTGet([PexAssumeUnderTest] HoaDonDTO target)
        {
            int result = target.MsNVTT;

            return(result);
            // TODO: add assertions to method HoaDonDTOTest.MsNVTTGet(HoaDonDTO)
        }
예제 #19
0
        private void btnGhiHoaDon_Click(object sender, EventArgs e)
        {
            // Tạo mã vạch QR
            MessagingToolkit.QRCode.Codec.QRCodeEncoder encoder = new MessagingToolkit.QRCode.Codec.QRCodeEncoder();
            encoder.QRCodeScale = 3;
            Bitmap bmp = encoder.Encode(txtSoHD.Text);
            // Chuyển hình ảnh ra dạng nhị phân
            MemoryStream ms = new MemoryStream();

            bmp.Save(ms, ImageFormat.Jpeg);
            byte[] bmpBytes = ms.GetBuffer();
            bmp.Dispose();
            ms.Close();

            HoaDonDTO HD = new HoaDonDTO();

            HD.SoHD    = txtSoHD.Text;
            HD.NgayBan = dtkNgayBan.Value;
            HD.HinhAnh = bmpBytes;
            if (HoaDonBUS.ThemHD(HD) == true)
            {
                btnLapHoaDonMoi.Enabled = true;
                btnThemSach.Enabled     = true;
                btnGhiHoaDon.Enabled    = false;
                btnInHoaDon.Enabled     = true;
            }
            else
            {
                MessageBox.Show("Thêm hóa đơn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public List <HoaDonDTO> getAllItem(Connection conn)
        {
            List <HoaDonDTO> result = new List <HoaDonDTO>();

            string queryString = "select* from hoadon";

            conn.cmd.CommandText = queryString;

            using (DbDataReader reader = conn.cmd.ExecuteReader())
            {
                if (!reader.HasRows)
                {
                    return(null);
                }
                else
                {
                    while (reader.Read())
                    {
                        HoaDonDTO temp = new HoaDonDTO(
                            reader.GetInt32(0),
                            reader.GetString(1),
                            reader.GetString(2),
                            reader.GetDateTime(3),
                            reader.GetString(4),
                            reader.GetInt32(5));
                        result.Add(temp);
                    }
                }
            }

            return(result);
        }
예제 #21
0
        public static bool LuuHoaDon(HoaDonDTO hoaDon)
        {
            SqlConnection connection = DataProvider.GetConnection();
            string        query      = "INSERT INTO HoaDon (nhan_vien_lap, ngay_lap, tong_tien, tien_mat, tien_thua, trang_thai) VALUES (@nhanVienLap, @ngayLap, @tongTien, @tienMat, @tienThua, @trangThai)";
            SqlCommand    command    = new SqlCommand(query, connection);

            command.Parameters.Add("@nhanVienLap", System.Data.SqlDbType.Int, 0).Value  = hoaDon.NhanVienLap;
            command.Parameters.Add("@ngayLap", System.Data.SqlDbType.DateTime, 0).Value = hoaDon.NgayLap;
            command.Parameters.Add("@tongTien", System.Data.SqlDbType.Float, 0).Value   = hoaDon.TongTien;
            command.Parameters.Add("@tienMat", System.Data.SqlDbType.Float, 0).Value    = hoaDon.TienMat;
            command.Parameters.Add("@tienThua", System.Data.SqlDbType.Float, 0).Value   = hoaDon.TienThua;
            command.Parameters.Add("@trangThai", System.Data.SqlDbType.Bit, 0).Value    = hoaDon.TrangThai;

            connection.Open();

            int reader = command.ExecuteNonQuery();

            connection.Close();

            if (reader > 0)
            {
                return(true);
            }
            return(false);
        }
예제 #22
0
        public void SoKhachGet523()
        {
            int       i;
            HoaDonDTO s0 = new HoaDonDTO(0, default(DateTime), 0, 0, 0, 0, 0);

            i = this.SoKhachGet(s0);
            Assert.AreEqual <int>(0, i);
            Assert.IsNotNull((object)s0);
            Assert.AreEqual <int>(0, s0.SoHD);
            Assert.AreEqual <int>(1, s0.TimeLapHD.Day);
            Assert.AreEqual <DayOfWeek>(DayOfWeek.Monday, s0.TimeLapHD.DayOfWeek);
            Assert.AreEqual <int>(1, s0.TimeLapHD.DayOfYear);
            Assert.AreEqual <int>(0, s0.TimeLapHD.Hour);
            Assert.AreEqual <DateTimeKind>(DateTimeKind.Unspecified, s0.TimeLapHD.Kind);
            Assert.AreEqual <int>(0, s0.TimeLapHD.Millisecond);
            Assert.AreEqual <int>(0, s0.TimeLapHD.Minute);
            Assert.AreEqual <int>(1, s0.TimeLapHD.Month);
            Assert.AreEqual <int>(0, s0.TimeLapHD.Second);
            Assert.AreEqual <int>(1, s0.TimeLapHD.Year);
            Assert.AreEqual <int>(0, s0.MsBan);
            Assert.AreEqual <int>(0, s0.SoKhach);
            Assert.AreEqual <int>(0, s0.MsNVLap);
            Assert.AreEqual <int>(0, s0.MsNVTT);
            Assert.AreEqual <double>(0, s0.TongTien);
        }
예제 #23
0
        // Lấy danh sách theo khoảng thời gian
        public static List <HoaDonDTO> GetListBillByTime(DateTime dateFrom, DateTime dateEnd)
        {
            SqlConnection connection = DataProvider.GetConnection();
            string        query      = "SELECT ma_hoa_don, nhan_vien_lap, ngay_lap, tong_tien, tien_mat, tien_thua, trang_thai FROM HoaDon WHERE ngay_lap BETWEEN @dateFrom AND @dateEnd";
            SqlCommand    command    = new SqlCommand(query, connection);

            command.Parameters.Add("@dateFrom", System.Data.SqlDbType.DateTime, 0).Value = dateFrom;
            command.Parameters.Add("@dateEnd", System.Data.SqlDbType.DateTime, 0).Value  = dateEnd;

            connection.Open();
            SqlDataReader reader = command.ExecuteReader();

            List <HoaDonDTO> result = new List <HoaDonDTO>();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    HoaDonDTO hd = new HoaDonDTO();
                    hd.MaHoaDon    = reader.GetInt32(0);
                    hd.NhanVienLap = reader.GetInt32(1);
                    hd.NgayLap     = reader.GetDateTime(2);
                    hd.TongTien    = reader.GetDouble(3);
                    hd.TienMat     = reader.GetDouble(4);
                    hd.TienThua    = reader.GetDouble(5);
                    hd.TrangThai   = reader.GetBoolean(6);
                    result.Add(hd);
                }
            }

            connection.Close();
            return(result);
        }
예제 #24
0
        // Lấy hóa đơn một ngày cụ thể
        public static List <HoaDonDTO> GetListBillTimeline(DateTime timeLine)
        {
            SqlConnection connection = DataProvider.GetConnection();
            string        query      = "SELECT ma_hoa_don, nhan_vien_lap, ngay_lap, tong_tien, tien_mat, tien_thua, trang_thai FROM HoaDon WHERE DATEPART(YYYY, ngay_lap) = YEAR(@timeLine) AND DATEPART(MM, ngay_lap) = MONTH(@timeLine) AND DATEPART(DD, ngay_lap) = DAY(@timeLine)";

            SqlCommand command = new SqlCommand(query, connection);

            command.Parameters.Add("@timeLine", System.Data.SqlDbType.DateTime, 0).Value = timeLine;

            connection.Open();
            SqlDataReader reader = command.ExecuteReader();

            List <HoaDonDTO> result = new List <HoaDonDTO>();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    HoaDonDTO hd = new HoaDonDTO();
                    hd.MaHoaDon    = reader.GetInt32(0);
                    hd.NhanVienLap = reader.GetInt32(1);
                    hd.NgayLap     = reader.GetDateTime(2);
                    hd.TongTien    = reader.GetDouble(3);
                    hd.TienMat     = reader.GetDouble(4);
                    hd.TienThua    = reader.GetDouble(5);
                    hd.TrangThai   = reader.GetBoolean(6);
                    result.Add(hd);
                }
            }

            connection.Close();
            return(result);
        }
예제 #25
0
        public bool CapNhatHD(HoaDonDTO hd)
        {
            DateTime aDateTime = DateTime.Now;
            //MessageBox.Show(aDateTime.ToString("dd/MM/yyyy HH:mm:ss.fff"));
            DateTime y2K      = hd.THOIGIANBATDAU;
            TimeSpan interval = aDateTime.Subtract(y2K);



            SqlConnection con = DataProvider.TaoKetNoi();
            int           gio = interval.Hours;

            if (gio == 1)
            {
                gio = 0; // hat chua den 1h
            }
            MessageBox.Show(gio.ToString());

            string capnhatphong = "UPDATE PHONG SET TINHTRANG = 2 where MAPHONG = '" + hd.MAPHONG + "'";
            bool   thucthip     = DataProvider.ThucThi(capnhatphong, con);
            string updateHD     = "UPDATE HOADON SET TONGTHANHTOAN = TONGTHANHTOAN + (GIAPHONG * " + gio + "),THOIGIANKETTHUC = '" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") + "', TINHTRANG = 1 where MAHD = '" + hd.MAHD.Trim() + "'";
            bool   thucthi      = DataProvider.ThucThi(updateHD, con);

            return(thucthi);
        }
예제 #26
0
        private void btnthem_Click(object sender, EventArgs e)
        {
            int       dem = dshoadon.Rows.Count;
            HoaDonDTO hd  = new HoaDonDTO();

            try
            {
                hd.MaKhachHang = int.Parse(txtmakh.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Phải chọn Khách Hàng từ danh sách");
                btnmakh_Click(sender, e);
                return;
            }
            hd.NgayLapHoaDon = dtngaylaphoadon.Value;
            if (HoaDonBUS.ThemHoaDon(hd) == false)
            {
                MessageBox.Show("Thêm thất bại");
                return;
            }
            hienthidshoadon();
            txtmahdct.Text = dshoadon.Rows[dem].Cells[0].Value.ToString();
            txtmakhct.Text = dshoadon.Rows[dem].Cells[2].Value.ToString();
            phongto();
        }
예제 #27
0
        public List <HoaDonDTO> dsHoaDon()
        {
            List <HoaDonDTO> ds   = new List <HoaDonDTO>();
            SqlConnection    conn = DataProvider.TaoKetNoi();

            string        sql = "select * from HOADON";
            SqlDataReader sdr = DataProvider.TruyVanDuLieu(sql, conn);

            while (sdr.Read())
            {
                HoaDonDTO a = new HoaDonDTO()
                {
                    MAHD    = sdr.GetString(0),
                    MAPHONG = sdr.GetString(1),
                    MANV    = sdr.GetString(2),
                    MAKH    = sdr.GetString(3),



                    THOIGIANBATDAU = DateTime.Parse(sdr.GetDateTime(4).ToString("dd/MM/yyyy HH:mm")),

                    THOIGIANKETTHUC = DateTime.Parse(sdr.GetDateTime(5).ToString("dd/MM/yyyy HH:mm")),

                    TONGTHANHTOAN = sdr.GetDecimal(6).ToString("0,00"),

                    TINHTRANG = sdr.GetBoolean(7),
                    GIAPHONG  = sdr.GetDecimal(8).ToString("0,00"),
                };
                ds.Add(a);
            }
            return(ds);
        }
예제 #28
0
 private void ganDuLieu(HoaDonDTO hd)
 {
     hd.MaHD    = txtMaHD.Text;
     hd.MaKH    = cboMaKH.Text;
     hd.MaNV    = cboMaNV.Text;
     hd.NgayLap = dateNgayLap.Value.ToString("yyyy-MM-dd");
 }
예제 #29
0
 public static void Delete_KH(KhachHangDTO kh)
 {
     try
     {
         HoaDonDTO       hd               = new HoaDonDTO();
         PhieuDatHangDTO pdh              = new PhieuDatHangDTO();
         List <string>   ds               = new List <string>();
         string          delete_kh        = string.Format("DELETE FROM db_khach_hang WHERE ma_kh='{0}'", kh.ma_kh);
         string          delete_hd_in_kh  = string.Format("SELECT ma_hd FROM db_hoa_don WHERE ma_kh = '{0}'", kh.ma_kh);
         string          delete_pdh_in_kh = string.Format("SELECT ma_pdh FROM db_phieu_dat_hang WHERE ma_kh = '{0}'", kh.ma_kh);
         ds = Xoa_thong_tin(delete_hd_in_kh);
         for (int i = 0; i < ds.Count; i++)
         {
             hd.ma_hd = ds[0];
             ChiTietHoaDonDAO.delete_SPHD(hd);
             HoaDonDAO.Delete_HD(hd);
         }
         ds = Xoa_thong_tin(delete_pdh_in_kh);
         for (int i = 0; i < ds.Count; i++)
         {
             pdh.ma_pdh = ds[0];
             ChiTietPhieuDatHangDAO.delete_SPPDH(pdh);
             PhieuDatHangDAO.Delete_PDH(pdh);
         }
         cnn = DataProvider.ConnectData();
         DataProvider.Execute(cnn, delete_kh);
         cnn.Close();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #30
0
        public HoaDonDTO GetRow(string maHoaDon)
        {
            try
            {
                var hoaDon = new HoaDonDTO();
                if (_connection.State != ConnectionState.Open)
                {
                    _connection.Open();
                }

                SqlCommand command = new SqlCommand("SELECT * FROM HoaDon WHERE MaHoaDon = @mahoadon", _connection);
                command.Parameters.Add("@mahoadon", SqlDbType.Char).Value = maHoaDon;

                SqlDataReader reader = command.ExecuteReader();
                if (reader.Read())
                {
                    hoaDon.MaHoaDon       = reader["MaHoaDon"].ToString();
                    hoaDon.MaKhachHang    = reader["MaKhachHang"].ToString();
                    hoaDon.NgayHoaDon     = (DateTime)reader["NgayHoaDon"];
                    hoaDon.MaNhanVien     = reader["MaNhanVien"].ToString();
                    hoaDon.TienKhachDaTra = (decimal)reader["TienKhachDaTra"];
                    hoaDon.GiamGia        = (decimal)reader["GiamGia"];
                    hoaDon.TienKhachDua   = (decimal)reader["TienKhachDaTra"];
                    reader.Close();
                }
                return(hoaDon);
            }
            catch (Exception ex)
            {
                _connection.Close();
                Console.WriteLine(ex.Message);
            }
            return(null);
        }
 public bool LapHoaDon(HoaDonDTO dtoHD)
 {
     return ws.LapHoaDon(dtoHD);
 }
예제 #32
0
 private DataTable ConvertHoaDonDTOArrayToDataTable(HoaDonDTO[] hDTOArr)
 {
     DataTable dt = new DataTable();
     dt.Columns.Add("MaHoaDon", typeof(string));
     dt.Columns.Add("NgayLap", typeof(DateTime));
     dt.Columns.Add("TriGia", typeof(float));
     dt.Columns.Add("ThanhToan", typeof(string));
     for (int i = 0; i < dt.Rows.Count; i++)
     {
         dt.Rows.Add(hDTOArr[i].DiaChi, hDTOArr[i].MaHoaDon, hDTOArr[i].NgayLap, hDTOArr[i].TriGia, hDTOArr[i].ThanhToan);
     }
     return dt;
 }
예제 #33
0
        private void btnTinhTien_Click(object sender, EventArgs e)
        {
            if (kiemtra())
            {
                    labTPT.Text = Math.Round(decimal.Parse(labTP.Text) + decimal.Parse(labTDV.Text), 0).ToString("0,0");

                    hdDTO = new HoaDonDTO();

                    PhieuThuePhongDTO ptp = pthueph.getPhieuThuePhongByID(cmbMaPT.Text);
                    PhieuDatPhongDTO pdp = pdatph.getPhieuDatPhongByID(ptp.Maphieudat);
                    hdDTO.Mahoadon = labMaHD.Text;
                    hdDTO.Ngaythanhtoan = dtpNgay.Value;
                    hdDTO.Tongtien = decimal.Parse(labTPT.Text);
                    hdDTO.Maphieuthue = cmbMaPT.Text;
                    hdDTO.Makhachhang = pdp.Makhachhang;
                    hdDTO.Username = frmMain.m_username;
                    if (hoadon.insertHoaDon(hdDTO) == 1)
                    {
                        pdpDTO = new PhieuDatPhongDTO();
                        pdpDTO.Maphieudat = pdp.Maphieudat;
                        pdpDTO.Makhachhang = pdp.Makhachhang;
                        pdpDTO.Ngayden = pdp.Ngayden;
                        pdpDTO.Ngaydi = pdp.Ngaydi;
                        pdpDTO.Sotiendatcoc = pdp.Sotiendatcoc;
                        pdpDTO.Username = pdp.Username;
                        pdpDTO.Tinhtrang = "finish";
                        pdpDTO.Songuoi = pdp.Songuoi;
                        if (pdatph.updatePhieuDatPhong(pdpDTO) == 1)
                        {
                            IList<ChiTietDatPhongDTO> listctdp = ctdatph.getChiTietDatPhongByID(pdp.Maphieudat);
                            foreach (ChiTietDatPhongDTO ctdp in listctdp)
                            {
                                pDTO = new PhongDTO();
                                PhongDTO p = phong.getPhongByID(ctdp.Maphong);
                                pDTO.Maphong = p.Maphong;
                                pDTO.Maloai = p.Maloai;
                                pDTO.Dadat = false;
                                pDTO.Danhan = false;
                                if (phong.updatePhong(pDTO) == 1)
                                {
                                }
                                else
                                {
                                    MessageBox.Show("Lỗi sửa phòng!");
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("Lỗi sửa phiếu đặt phòng!");
                        }

                        flagtinhtien = true;
                        show_KH();
                        show_Phong();
                        show_DV();
                        //show_MaPT();
                        frmMain.capnhatphong();
                        MessageBox.Show("Đã tính tiền!");
                        btnInhoadon.Visible = true;
                    }
                    else
                    {
                        MessageBox.Show("Lỗi dữ liệu!");
                    }
            }
        }