Esempio n. 1
0
        protected void DoInitPrintReceiptPaymentData(string paymentID)
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            db.Connect();

            PaymentHistory pm = new PaymentHistory();

            pm.LoadFromDB(db, " payment_id=" + paymentID);
            pm.LoadCourse(db);
            pm._course.LoadTeacher(db);
            pm._course.LoadPaidGroup(db);
            // load teacher in this group
            Teacher[] listTeacher = pm._course._paidGroup.LoadMemberTeachers(db);
            pm.LoadReceiver(db);
            // preload all branches
            Dictionary <int, Branch> branches = Branch.LoadListFromDBAsMap(db, "");

            // Load PaymentHistory BEFORE this
            PaymentHistory[] pmList = PaymentHistory.LoadListFromDB(db, " WHERE course_id='" + pm._courseID + "' and payment_id<='" + pm._paymentID + "' ORDER BY payment_id");


            // Construct Teacher List
            StringBuilder teachTxt = new StringBuilder();

            for (int i = 0; i < listTeacher.Length; i++)
            {
                string link = "TeacherManage.aspx?actPage=edit&targetID=" + listTeacher[i]._teacherID;
                teachTxt.Append(listTeacher[i]._firstname + " " + listTeacher[i]._surname + "<br>");
            }

            // Construct Paid history
            StringBuilder phTxt = new StringBuilder();

            for (int i = 0; i < pmList.Length; i++)
            {
                PaymentHistory ph = pmList[i];
                ph.LoadReceiver(db);
                ph.LoadUser(db);
                Branch b    = branches[ph._branchID];
                string link = "TeacherManage.aspx?actPage=edit&targetID=" + ph._receiverTeacherID;
                phTxt.AppendLine("<tr><td align=center>" + PaymentHistory.GetPaymentHistoryID(ph._paymentID) + "</td>");
                phTxt.AppendLine("<td align=center>" + StringUtil.ConvertYearToEng(ph._paidDate, "yyyy/MM/dd HH:mm:ss ") + "</td>");
                phTxt.AppendLine("<td align=center>" + StringUtil.Int2StrComma(ph._paidCost) + "</td>");
                phTxt.AppendLine("<td align=center>" + ph._receiverTeacher._firstname + " " + ph._receiverTeacher._surname + "</td>");
                phTxt.AppendLine("<td align=center>" + ph._user._firstname + " " + ph._user._surname + "</td>");
                phTxt.AppendLine("<td align=center>" + b._branchName + "</td>");
            }

            // User
            AppUser user = new AppUser();

            user.LoadFromDB(db, " username='******'");

            // Generate HTML content
            TextReader reader          = new StreamReader(Config.PATH_APP_ROOT + "\\template\\payment_print.htm");
            String     templateContent = reader.ReadToEnd();

            reader.Close();

            String htmlContent =
                String.Format(templateContent
                              , StringUtil.ConvertYearToEng(pm._paidDate, "yyyy/MM/dd HH:mm:ss")
                              , pm._receiverTeacher._firstname + " " + pm._receiverTeacher._surname
                              , pm._course._btsCourseID + " \"" + pm._course._courseName + "\""
                              , StringUtil.Int2StrComma(pm._paidCost)
                              , pm._course._teacher._firstname + " " + pm._course._teacher._surname
                              , PaidGroup.GetPaidGroupID(pm._course._paidGroup._currentRound)
                              , teachTxt.ToString()
                              , StringUtil.Int2StrComma(pm._sumMaxPayable)
                              , StringUtil.Int2StrComma(pm._sumPaidCost + pm._paidCost)
                              , phTxt.ToString()
                              , user._firstname + " " + user._surname
                              );

            outBuf.Append(htmlContent);

            db.Close();
        }