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()); }
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()); }