public override bool PerformPrintPreview()
        {
            Current_Id_Checkin = cvBar_Rent_CheckIn.GetFocusedRowCellValue("Id_Checkin");
            if (Current_Id_Checkin == null)
            {
                GoobizFrame.Windows.Forms.UserMessage.Show("SYS_EMPTY_COLLECTION", new string[] { "danh sách đặt phòng" });
                return(false);
            }
            if ("" + lookUpEdit_RentLevel.EditValue == "")
            {
                GoobizFrame.Windows.Forms.UserMessage.Show("SYS_EMPTY_COLLECTION", new string[] { labelControl19.Text });
                return(false);
            }
            dsbar_Rent_Checkin = objBarService.GetBar_Rent_Checkin_ById4Print(Current_Id_Checkin, lookUpEdit_RentLevel.EditValue, DateTime.Now).ToDataSet();
            Ecm.Bar.DataSets.dsHdbanhang_Chitiet      dsrHdbanhang_Chitiet = new Ecm.Bar.DataSets.dsHdbanhang_Chitiet();
            Ecm.Bar.Reports.rptHdbanhang_Hotel        rptHdbanhang         = new Ecm.Bar.Reports.rptHdbanhang_Hotel();
            GoobizFrame.Windows.Forms.FrmPrintPreview frmPrintPreview      = new GoobizFrame.Windows.Forms.FrmPrintPreview();
            frmPrintPreview.Report = rptHdbanhang;

            int i = 1;

            foreach (DataRow dr in dsbar_Rent_Checkin.Tables[0].Rows)
            {
                if (dr.RowState != DataRowState.Deleted)
                {
                    DataRow drnew = dsrHdbanhang_Chitiet.Tables[0].NewRow();
                    foreach (DataColumn dc in dsbar_Rent_Checkin.Tables[0].Columns)
                    {
                        try
                        {
                            if (drnew.Table.Columns.Contains(dc.ColumnName))
                            {
                                drnew[dc.ColumnName] = dr[dc.ColumnName];
                            }
                        }
                        catch (Exception ex)
                        {
                            GoobizFrame.Windows.TrayMessage.TrayMessage.Status = new GoobizFrame.Windows.TrayMessage.TrayMessageInfo(MessageBoxIcon.Asterisk, ex.Message, ex.ToString());
                            continue;
                        }
                    }
                    drnew["Ten_Hanghoa"] = dr["Ten_Hanghoa"]; // gridLookUp_Hanghoa_Ban_Chitiet.GetDisplayText(dr["Id_Hanghoa_Ban"]);
                    drnew["Dongia_Ban"]  = dr["Dongia"];
                    drnew["Thanhtien"]   = dr["Thanhtien"];
                    drnew["per_dongia"]  = dr["Per_Dongia"];
                    drnew["Stt"]         = i++;
                    dsrHdbanhang_Chitiet.Tables[0].Rows.Add(drnew);
                }
            }
            //add parameter values
            rptHdbanhang.tbc_Ngay.Text       = "" + dtNgay_Chungtu.Text;
            rptHdbanhang.tbcSochungtu.Text   = "" + txtSo_Chungtu.Text;
            rptHdbanhang.lblNhansu_Bill.Text = lookUpEdit_Nhansu_Ctu.Text;
            rptHdbanhang.lblKhachhang.Text   = lookUpEdit_Khachhang.Text;
            DataSet dsOrder_Chitiet;
            decimal thanhtien_order = 0;

            foreach (DataRow row in dsrHdbanhang_Chitiet.Tables["Hdbanhang_Chitiet"].Rows)
            {
                dsOrder_Chitiet = objBarService.Get_Bar_Rent_Checkin_table_Hanghoa_By_Checkin_Table_4Print(row["Id_Bar_Rent_Checkin_Table"]).ToDataSet();
                foreach (DataRow dtr in dsOrder_Chitiet.Tables[0].Rows)
                {
                    dsrHdbanhang_Chitiet.Tables["Order_Chitiet"].ImportRow(dtr);
                }
                thanhtien_order += Convert.ToDecimal("0" + dsOrder_Chitiet.Tables[0].Compute("Sum(Thanhtien)", ""));
            }
            decimal thanhtien = Convert.ToDecimal("0" + dsbar_Rent_Checkin.Tables[0].Compute("Sum(thanhtien)", ""));

            thanhtien += thanhtien_order;
            var da_thanhtoan = objBarService.Get_Bar_Rent_Checkin_Dathanhtoan_ById_Checkin(Current_Id_Checkin);

            thanhtien            -= Convert.ToDecimal("0" + da_thanhtoan);
            rptHdbanhang.PageSize = new Size(800, 1400 + 100 * Convert.ToInt32(dsrHdbanhang_Chitiet.Tables[0].Rows.Count));

            //Trừ tiền cọc
            if (Convert.ToDecimal("0" + da_thanhtoan) > 0)
            {
                decimal Thanhtien_TG = Convert.ToDecimal("0" +
                                                         dsrHdbanhang_Chitiet.Tables[0].Rows[dsrHdbanhang_Chitiet.Tables[0].Rows.Count - 1]["Thanhtien_TG"]);
                Thanhtien_TG -= Convert.ToDecimal(da_thanhtoan);
                dsrHdbanhang_Chitiet.Tables[0].Rows[dsrHdbanhang_Chitiet.Tables[0].Rows.Count - 1]["Thanhtien_TG"] = Thanhtien_TG;
                rptHdbanhang.xrTable_Tien_Booking.Visible = true;
                rptHdbanhang.lblTien_Booking.Text         = string.Format("{0:#,#}", da_thanhtoan);
            }
            else
            {
                rptHdbanhang.xrTable6.Location = new System.Drawing.Point(21, 42);
                rptHdbanhang.xrTable4.Location = new System.Drawing.Point(21, 135);
            }
            decimal thanhtien_order_per_room = 0;

            foreach (DataRow row in dsrHdbanhang_Chitiet.Tables["Hdbanhang_Chitiet"].Rows)
            {
                thanhtien_order_per_room = Convert.ToDecimal("0" + dsrHdbanhang_Chitiet.Tables["Order_Chitiet"].Compute("Sum(Thanhtien)", "Id_Bar_Rent_Checkin_Table = " + row["Id_Bar_Rent_Checkin_Table"]));
                row["Total_Per_Room"]    = Convert.ToDecimal("0" + row["Thanhtien"]) + thanhtien_order_per_room;
            }
            rptHdbanhang.DataSource = dsrHdbanhang_Chitiet;
            #region Set he so ctrinh - logo, ten cty

            using (DataSet dsHeso_Chuongtrinh = objMasterService.Get_Rex_Dm_Heso_Chuongtrinh_Collection3().ToDataSet())
            {
                DataSet dsCompany_Paras = new DataSet();
                dsCompany_Paras.Tables.Add("Company_Paras");
                dsCompany_Paras.Tables[0].Columns.Add("CompanyName", typeof(string));
                dsCompany_Paras.Tables[0].Columns.Add("CompanyAddress", typeof(string));
                dsCompany_Paras.Tables[0].Columns.Add("CompanyLogo", typeof(byte[]));
                byte[] imageData = Convert.FromBase64String("" + dsHeso_Chuongtrinh.Tables[0].Select(string.Format("Ma_Heso_Chuongtrinh='{0}'", "CompanyLogo"))[0]["Heso"]);
                dsCompany_Paras.Tables[0].Rows.Add(new object[]  {
                    dsHeso_Chuongtrinh.Tables[0].Select(string.Format("Ma_Heso_Chuongtrinh='{0}'", "CompanyName"))[0]["Heso"]
                    , dsHeso_Chuongtrinh.Tables[0].Select(string.Format("Ma_Heso_Chuongtrinh='{0}'", "CompanyAddress"))[0]["Heso"]
                    , imageData
                });
                rptHdbanhang.xrc_CompanyName.DataBindings.Add(
                    new DevExpress.XtraReports.UI.XRBinding("Text", dsCompany_Paras, dsCompany_Paras.Tables[0].TableName + ".CompanyName"));
                rptHdbanhang.xrc_CompanyAddress.DataBindings.Add(
                    new DevExpress.XtraReports.UI.XRBinding("Text", dsCompany_Paras, dsCompany_Paras.Tables[0].TableName + ".CompanyAddress"));
                rptHdbanhang.xrPic_Logo.DataBindings.Add(
                    new DevExpress.XtraReports.UI.XRBinding("Image", dsCompany_Paras, dsCompany_Paras.Tables[0].TableName + ".CompanyLogo"));
            }
            #endregion

            rptHdbanhang.lblTongcong.Text = String.Format("{0:n0}", Convert.ToDouble(thanhtien));
            string str = GoobizFrame.Windows.HelperClasses.ReadNumber.ChangeNum2VNStr((double)thanhtien, " đồng.");
            str = str.Substring(0, 1).ToUpper() + str.Substring(1).ToLower();
            rptHdbanhang.tbcThanhtien_Bangchu.Text = str;
            rptHdbanhang.tbc_Ngay_Batdau.Text      = dtNgay_Batdau.Text;
            rptHdbanhang.tbc_Ngay_Ketthuc.Text     = dtNgay_Ketthuc.Text;
            if (Convert.ToDecimal("" + dsbar_Rent_Checkin.Tables[0].Rows[0]["Per_Dongia"]) == 0)
            {
                rptHdbanhang.xrTableRow_Giamgia.Visible = false; //xrTable5
            }
            rptHdbanhang.CreateDocument();
            GoobizFrame.Windows.Forms.ReportOptions oReportOptions = GoobizFrame.Windows.Forms.ReportOptions.GetReportOptions(rptHdbanhang);
            if (Convert.ToBoolean(oReportOptions.PrintPreview))
            {
                frmPrintPreview.Text = "" + oReportOptions.Caption;
                frmPrintPreview.printControl1.PrintingSystem = rptHdbanhang.PrintingSystem;
                frmPrintPreview.MdiParent = this.MdiParent;
                frmPrintPreview.Text      = this.Text + "(Xem trang in)";
                frmPrintPreview.Show();
                frmPrintPreview.Activate();
            }
            else
            {
                var ReportPrintTool = new DevExpress.XtraReports.UI.ReportPrintTool(rptHdbanhang);
                ReportPrintTool.Print();
            }
            return(base.PerformPrintPreview());
        }
Пример #2
0
        public override bool PerformPrintPreview()
        {
            Ecm.Bar.DataSets.dsHdbanhang_Chitiet dsrHdbanhang_Chitiet = new Ecm.Bar.DataSets.dsHdbanhang_Chitiet();
            Ecm.Bar.Reports.rptHdbanhang_noVAT   rptHdbanhang_noVAT   = new Ecm.Bar.Reports.rptHdbanhang_noVAT();
            //            GoobizFrame.Windows.Forms.FrmPrintPreview frmPrintPreview = new GoobizFrame.Windows.Forms.FrmPrintPreview();
            GoobizFrame.Windows.Forms.FrmPrintPreview frmPrintPreview = new GoobizFrame.Windows.Forms.FrmPrintPreview();
            frmPrintPreview.Report = rptHdbanhang_noVAT;
            //frmPrintPreview.Name = this.Name;
            //frmPrintPreview.EnablePrintPreview = this.EnablePrintPreview;
            rptHdbanhang_noVAT.DataSource = dsrHdbanhang_Chitiet;

            int i = 1;

            foreach (DataRow dr in dsTable_Order_Chitiet.Tables[0].Rows)
            {
                DataRow drnew = dsrHdbanhang_Chitiet.Tables[0].NewRow();
                foreach (DataColumn dc in dsTable_Order_Chitiet.Tables[0].Columns)
                {
                    try
                    {
                        drnew[dc.ColumnName] = dr[dc.ColumnName];
                    }
                    catch (Exception ex)
                    {
                        continue;
                    }
                }
                drnew["Ten_Hanghoa"] = dr["Ten_Hanghoa_Ban"];
                drnew["Dongia_Ban"]  = dr["Dongia"];
                drnew["Thanhtien"]   = dr["Thanhtien"];
                drnew["Stt"]         = i++;
                dsrHdbanhang_Chitiet.Tables[0].Rows.Add(drnew);
            }
            //add parameter values
            rptHdbanhang_noVAT.tbc_Ngay.Text       = "" + dtNgay_Cash.Text + "    * Bàn: " + txtTen_Table.Text;
            rptHdbanhang_noVAT.tbcSochungtu.Text   = "" + Sochungtu;
            rptHdbanhang_noVAT.lblNhansu_Bill.Text = lookUpEdit_Nhansu_Bill.Text;
            rptHdbanhang_noVAT.lblNhansu_Bill.Text = lookUpEdit_Nhansu_Bill.Text;
            rptHdbanhang_noVAT.lblKhachhang.Text   = lookUpEdit_Khachhang.Text;

            double thanhtien = Convert.ToDouble(dsTable_Order_Chitiet.Tables[0].Compute("sum(Thanhtien)", ""));

            if (txtTien_Booking.Text != "")
            {
                thanhtien -= Convert.ToDouble(txtTien_Booking.EditValue);
            }
            rptHdbanhang_noVAT.PageSize = new Size(800, 1400 + 100 * Convert.ToInt32(dsrHdbanhang_Chitiet.Tables[0].Rows.Count));
            //Trừ tiền cọc booking
            if ("" + Tien_Booking != "")
            {
                decimal Thanhtien_TG = Convert.ToDecimal("0" +
                                                         dsrHdbanhang_Chitiet.Tables[0].Rows[dsrHdbanhang_Chitiet.Tables[0].Rows.Count - 1]["Thanhtien_TG"]);
                Thanhtien_TG -= Convert.ToDecimal(Tien_Booking);
                dsrHdbanhang_Chitiet.Tables[0].Rows[dsrHdbanhang_Chitiet.Tables[0].Rows.Count - 1]["Thanhtien_TG"] = Thanhtien_TG;
                rptHdbanhang_noVAT.xrTable_Tien_Booking.Visible = true;
                rptHdbanhang_noVAT.lblTien_Booking.Text         = string.Format("{0:#,#}", Tien_Booking);
            }
            else
            {
                rptHdbanhang_noVAT.xrTable6.Location = new System.Drawing.Point(21, 42);
                rptHdbanhang_noVAT.xrTable4.Location = new System.Drawing.Point(21, 135);
                //thanhtien -= Convert.ToDouble("0" + dsTable_Order_Chitiet.Tables[0].Compute("Sum(Thanhtien_Km)", ""));
            }

            #region Set he so ctrinh - logo, ten cty

            using (DataSet dsHeso_Chuongtrinh = objMasterService.Get_Rex_Dm_Heso_Chuongtrinh_Collection3().ToDataSet())
            {
                DataSet dsCompany_Paras = new DataSet();
                dsCompany_Paras.Tables.Add("Company_Paras");
                dsCompany_Paras.Tables[0].Columns.Add("CompanyName", typeof(string));
                dsCompany_Paras.Tables[0].Columns.Add("CompanyAddress", typeof(string));
                dsCompany_Paras.Tables[0].Columns.Add("CompanyLogo", typeof(byte[]));

                byte[] imageData = Convert.FromBase64String("" + dsHeso_Chuongtrinh.Tables[0].Select(string.Format("Ma_Heso_Chuongtrinh='{0}'", "CompanyLogo"))[0]["Heso"]);

                dsCompany_Paras.Tables[0].Rows.Add(new object[]  {
                    dsHeso_Chuongtrinh.Tables[0].Select(string.Format("Ma_Heso_Chuongtrinh='{0}'", "CompanyName"))[0]["Heso"]
                    , dsHeso_Chuongtrinh.Tables[0].Select(string.Format("Ma_Heso_Chuongtrinh='{0}'", "CompanyAddress"))[0]["Heso"]
                    , imageData
                });

                rptHdbanhang_noVAT.xrc_CompanyName.DataBindings.Add(
                    new DevExpress.XtraReports.UI.XRBinding("Text", dsCompany_Paras, dsCompany_Paras.Tables[0].TableName + ".CompanyName"));
                rptHdbanhang_noVAT.xrc_CompanyAddress.DataBindings.Add(
                    new DevExpress.XtraReports.UI.XRBinding("Text", dsCompany_Paras, dsCompany_Paras.Tables[0].TableName + ".CompanyAddress"));
                rptHdbanhang_noVAT.xrPic_Logo.DataBindings.Add(
                    new DevExpress.XtraReports.UI.XRBinding("Image", dsCompany_Paras, dsCompany_Paras.Tables[0].TableName + ".CompanyLogo"));
            }
            #endregion

            rptHdbanhang_noVAT.lbl_Dathutien.Visible = true;
            if (lookUpEdit_Khachhang.EditValue != null) // check if khách hàng quota --> hiển thị thông tin giảm giá
            {
                //ds_Khachhang = objWareService.Get_All_Ware_Khachhang_Quota_Detail_By_Khachhang(lookUpEdit_Khachhang.EditValue).ToDataSet();
                //if (ds_Khachhang.Tables.Count > 0 && ds_Khachhang.Tables[0].Rows.Count > 0)
                //{
                //    if (ds_Khachhang.Tables[0].Rows[0]["Id_Vip_Member"].ToString() == "") // check if khach hang quota
                //    {
                //        rptHdbanhang_noVAT.lblSotien_Giam.Visible = true;
                //        rptHdbanhang_noVAT.xrSotien_Giam.Visible = true;
                //        thanhtien -= Convert.ToDouble("0" + dsTable_Order_Chitiet.Tables[0].Compute("Sum(Thanhtien_Km)", ""));
                //    }
                //}
            }
            rptHdbanhang_noVAT.lblTongcong.Text = thanhtien.ToString();
            string str = GoobizFrame.Windows.HelperClasses.ReadNumber.ChangeNum2VNStr(thanhtien, " đồng.");
            str = str.Substring(0, 1).ToUpper() + str.Substring(1).ToLower();
            rptHdbanhang_noVAT.tbcThanhtien_Bangchu.Text = str;
            rptHdbanhang_noVAT.CreateDocument();
            GoobizFrame.Windows.Forms.ReportOptions oReportOptions = GoobizFrame.Windows.Forms.ReportOptions.GetReportOptions(rptHdbanhang_noVAT);
            if (Convert.ToBoolean(oReportOptions.PrintPreview))
            {
                frmPrintPreview.Text = "" + oReportOptions.Caption;
                frmPrintPreview.printControl1.PrintingSystem = rptHdbanhang_noVAT.PrintingSystem;
                frmPrintPreview.MdiParent = this.MdiParent;
                frmPrintPreview.Text      = this.Text + "(Xem trang in)";
                frmPrintPreview.Show();
                frmPrintPreview.Activate();
            }
            else
            {
                var ReportPrintTool = new DevExpress.XtraReports.UI.ReportPrintTool(rptHdbanhang_noVAT);
                ReportPrintTool.Print();
            }


            return(base.PerformPrintPreview());
        }