예제 #1
0
        public SoaReport(ReportViewer rv, string report, Student student, User user, List <PaymentDetail> soadetail) : base(rv, report)
        {
            Registration Reg    = new Registration().GetRegistration(student.Id);
            Assessment   Assess = new Assessment().GetAssessment(Reg.Id);

            DataTable table = new DataTable();

            table = new Payment().GetAllPaymentPerAssessment(student.Id, Assess.Id);

            List <Payment> Payments = new List <Payment>();

            if (table.Rows.Count > 0)
            {
                foreach (DataRow row in table.Rows)
                {
                    Payment payment = new Payment();
                    payment.ORNumber    = row["OR NUMBER"].ToString();
                    payment.Amount      = Convert.ToDouble(row["AMOUNT"].ToString());
                    payment.PaymentDate = Convert.ToDateTime(row["PAYMENT DATE"]).ToShortDateString();

                    Payments.Add(payment);
                }
            }
            else
            {
                Payments.Add(new Payment());
            }

            List <Student> studList = new List <Student>();

            studList.Add(student);

            List <Assessment> assList = new List <Assessment>();

            assList.Add(Assess);

            List <Registration> regList = new List <Registration>();

            regList.Add(Reg);

            List <User> userList = new List <User>();

            userList.Add(user);

            ReportDataSource dsStud = new ReportDataSource();

            dsStud.Name  = "dsStudent";
            dsStud.Value = studList;
            RViewer.LocalReport.DataSources.Add(dsStud);

            ReportDataSource dsAssess = new ReportDataSource();

            dsAssess.Name  = "dsAssess";
            dsAssess.Value = assList;
            RViewer.LocalReport.DataSources.Add(dsAssess);

            ReportDataSource dsReg = new ReportDataSource();

            dsReg.Name  = "dsRegistration";
            dsReg.Value = regList;
            RViewer.LocalReport.DataSources.Add(dsReg);

            ReportDataSource dsPay = new ReportDataSource();

            dsPay.Name  = "dsPayment";
            dsPay.Value = Payments;
            RViewer.LocalReport.DataSources.Add(dsPay);

            ReportDataSource dsUser = new ReportDataSource();

            dsUser.Name  = "dsUser";
            dsUser.Value = userList;
            RViewer.LocalReport.DataSources.Add(dsUser);

            ReportDataSource dsPayDet = new ReportDataSource();

            dsPayDet.Name  = "dsPayDetail";
            dsPayDet.Value = soadetail;
            RViewer.LocalReport.DataSources.Add(dsPayDet);
        }
예제 #2
0
        public LedgerReport(ReportViewer rv, string report, Student student) : base(rv, report)
        {
            Registration Reg    = new Registration().GetRegistration(student.Id);
            Assessment   Assess = new Assessment().GetAssessment(Reg.Id);

            DataTable payments  = new Ledger().GetAllPaymentPerAccount(Assess.Id);
            DataTable payDetail = new DataTable();

            List <LedgerItem> ledger = new List <LedgerItem>();

            foreach (DataRow prow in payments.Rows)
            {
                long id = Convert.ToInt64(prow["ID"]);
                payDetail = new Ledger().GetPaymentDetailById(id);
                List <PaymentDetail> paylist = new List <PaymentDetail>();
                foreach (DataRow plist in payDetail.Rows)
                {
                    PaymentDetail pd = new PaymentDetail();
                    pd.Code   = plist["CODE"].ToString();
                    pd.Amount = Convert.ToDouble(plist["AMOUNT"]);
                    paylist.Add(pd);
                }

                foreach (DataRow row in Assess.AssessmentDetail.Rows)
                {
                    LedgerItem ledgerItem = new LedgerItem();
                    ledgerItem.FeeCode          = row["CODE"].ToString();
                    ledgerItem.FeeName          = row["FEE"].ToString();
                    ledgerItem.OrNumber         = prow["OR"].ToString();
                    ledgerItem.PaymentDate      = Convert.ToDateTime(prow["PAYMENT DATE"]);
                    ledgerItem.AssessmentAmount = Convert.ToDouble(row["AMOUNT"]);
                    ledgerItem.AssessmentTotal  = Assess.Total;

                    foreach (PaymentDetail det in paylist)
                    {
                        if (ledgerItem.FeeCode.Equals(det.Code))
                        {
                            ledgerItem.PaidAmount = det.Amount;
                            break;
                        }
                        else
                        {
                            ledgerItem.PaidAmount = 0;
                        }
                    }
                    ledger.Add(ledgerItem);
                }
            }


            List <PaymentDetail> assList = new List <PaymentDetail>();

            foreach (DataRow row in Assess.AssessmentDetail.Rows)
            {
                PaymentDetail pd = new PaymentDetail();
                pd.Code   = row["CODE"].ToString();
                pd.Name   = row["FEE"].ToString();
                pd.Amount = Convert.ToDouble(row["AMOUNT"]);
                assList.Add(pd);
            }

            List <Student> studList = new List <Student>();

            studList.Add(student);
            ReportDataSource dsStud = new ReportDataSource();

            dsStud.Name  = "dsStudent";
            dsStud.Value = studList;
            RViewer.LocalReport.DataSources.Add(dsStud);

            ReportDataSource dsLedger = new ReportDataSource();

            dsLedger.Name  = "dsPayment";
            dsLedger.Value = ledger;
            RViewer.LocalReport.DataSources.Add(dsLedger);
        }
예제 #3
0
 public PTAReceipt(ReportViewer rv, string report, Student student, string or_number) : base(rv, report, student, or_number)
 {
 }