public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { CrystalReportTONGHOPCONGNO rpt = new CrystalReportTONGHOPCONGNO(); rpt.Site = this.Site; return(rpt); }
private void button1_Click(object sender, EventArgs e) { List <CTongHopCongNo> _datasource = new List <CTongHopCongNo>(); var include_THUNO = checkBoxTHUNO.Checked; string note = ""; var kho = long.Parse(comboBoxKHO.SelectedValue.ToString()); var _from = dateTimePicker1.Value.Date; var _to = dateTimePicker2.Value.Date; BindingSource bs = new BindingSource(); /* Tính tổng tiền, trả trước group theo MAKH */ var _xh = (from xh in DataInstance.Instance().DBContext().XUAT_HANG join kh in DataInstance.Instance().DBContext().KHACH_HANG on xh.MAKH equals kh.ID where xh.MAKHO == kho where xh.NGAY_XUAT >= _from && xh.NGAY_XUAT <= _to group xh by new { xh.MAKH, kh.NAME } into g select new CTongHopCongNo() { STT = g.Key.MAKH, MAKH = g.Key.MAKH, KHACHHANG = g.Key.NAME, TRATRUOC = g.Sum(u => u.TRA_TRUOC), THANHTIEN = g.Sum(u => u.THANH_TIEN), DATRA = 0, CONNO = g.Sum(u => u.THANH_TIEN - u.TRA_TRUOC) } ); int STT = 1; if (include_THUNO == false) { note = "KHÔNG TÍNH TIỀN LÃI"; /* Có sử dụng dữ liệu thu nợ */ /* Tính tổng lãi cho từng KH */ foreach (CTongHopCongNo row in _xh) { //double lai = 0; double datra = 0; /* Tính lãi cho tất cả những lần xuất hàng cho KH */ foreach (XUAT_HANG _row in (from _xh_ in DataInstance.Instance().DBContext().XUAT_HANG where _xh_.MAKHO == kho where _xh_.MAKH == row.MAKH select _xh_)) { /* Không sử dụng dữ liệu từ thu nợ */ //lai += MXuatHang.GetLaiPhatSinh((int)_row.ID, _to); datra += MChiTietThuNo.TraGocHH((int)_row.ID); } _datasource.Add(new CTongHopCongNo() { STT = STT++, KHACHHANG = row.KHACHHANG, TRATRUOC = row.TRATRUOC, THANHTIEN = row.THANHTIEN, DATRA = (long)datra, CONNO = row.THANHTIEN - (long)datra - row.TRATRUOC }); } } else { note = "BAO GỒM TIỀN LÃI"; /* Không sử dụng dữ liệu thu nợ*/ /* Tính tổng lãi cho từng KH */ foreach (CTongHopCongNo row in _xh) { double lai = 0; double datra = 0; foreach (XUAT_HANG _row in (from _xh_ in DataInstance.Instance().DBContext().XUAT_HANG where _xh_.MAKHO == kho where _xh_.MAKH == row.MAKH select _xh_)) { lai += MXuatHang.GetLai((int)_row.ID, _to); datra += MChiTietThuNo.DaTraHH((int)_row.ID); } _datasource.Add(new CTongHopCongNo() { STT = STT++, KHACHHANG = row.KHACHHANG, TRATRUOC = row.TRATRUOC, THANHTIEN = row.THANHTIEN + (long)lai, DATRA = (long)datra, CONNO = row.THANHTIEN - (long)datra - row.TRATRUOC + (long)lai }); } } bs.DataSource = _datasource; CrystalReportTONGHOPCONGNO rpt = new CrystalReportTONGHOPCONGNO(); rpt.SetDataSource(bs); rpt.SetParameterValue("KHO", comboBoxKHO.Text); rpt.SetParameterValue("FROM", _from); rpt.SetParameterValue("TO", _to); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); rpt.SetParameterValue("NOTE", note); crystalReportViewer1.ReportSource = rpt; crystalReportViewer1.Zoom(150); }