Example #1
0
        protected void DoEditSubmitPaidGroup(string groupID)
        {
            PaidGroup group = new PaidGroup();

            // validate data
            group._paidGroupID = Int32.Parse(groupID);
            group._name        = Request["name"];
            StringBuilder sb = new StringBuilder();

            sb.Append(Request["bound1"]); sb.Append(":"); sb.Append(Request["rate1"]); sb.Append(";");
            sb.Append(Request["bound2"]); sb.Append(":"); sb.Append(Request["rate2"]); sb.Append(";");
            sb.Append(Request["bound3"]); sb.Append(":"); sb.Append(Request["rate3"]); sb.Append(";");
            sb.Append(Request["bound4"]); sb.Append(":"); sb.Append(Request["rate4"]); sb.Append(";");
            sb.Append(Request["bound5"]); sb.Append(":"); sb.Append(Request["rate5"]); sb.Append(";");
            sb.Append(Request["bound6"]); sb.Append(":"); sb.Append(Request["rate6"]); sb.Append(";");
            sb.Append(Request["bound7"]); sb.Append(":"); sb.Append(Request["rate7"]); sb.Append(";");
            sb.Append(Request["bound8"]); sb.Append(":"); sb.Append(Request["rate8"]); sb.Append(";");
            sb.Append(Request["bound9"]); sb.Append(":"); sb.Append(Request["rate9"]); sb.Append(";");
            sb.Append(Request["bound10"]); sb.Append(":"); sb.Append(Request["rate10"]);

            group._rawRateInfo = group.BuildRateInfoString(sb.ToString());
            group._rateInfo    = PaidRateInfo.Parse(group._rawRateInfo);

            // Save to DB
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            db.Connect();
            group.UpdateToDB(db);
            db.Close();
        }
Example #2
0
        public void DoAddTeacher()
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            groupList = PaidGroup.LoadListFromDB(db, "");
            db.Close();
        }
Example #3
0
        public void DoAddPaidGroup()
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            groupList = PaidGroup.LoadListFromDB(db, "");
            //teacherList = Teacher.LoadListFromDB(db, " WHERE is_active=1 ORDER BY firstname");
            db.Close();
        }
Example #4
0
        public void DoAddCourse()
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            roomList      = Room.LoadListFromDBCustom(db, "SELECT r.room_id, r.name, b.branch_name as branch_name FROM room r, branch b WHERE r.branch_id=b.branch_id");
            teacherList   = Teacher.LoadListFromDB(db, " ORDER BY firstname");
            paidGroupList = paidGroupList = PaidGroup.LoadListFromDB(db, " ORDER BY paid_group_id");
            db.Close();
        }
Example #5
0
        protected void DoDeletePaidGroup(string groupID)
        {
            PaidGroup group = new PaidGroup();

            group._paidGroupID = Int32.Parse(groupID);

            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            db.Connect();
            group.DeleteToDB(db);
            db.Close();
        }
Example #6
0
        protected void DoRemoveTeacherSubmit(String paidGroupID, String teacherID)
        {
            PaidGroup group = new PaidGroup();

            group._paidGroupID = Int32.Parse(paidGroupID);
            // Save to DB
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            db.Connect();
            group.RemoveTeacherToDB(db, teacherID);
            db.Close();
        }
Example #7
0
        public void DoEditPaidGroup(string groupID)
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            thePaidGroup = new PaidGroup();
            if (!thePaidGroup.LoadFromDB(db, "paid_group_id='" + groupID + "'"))
            {
                thePaidGroup = null;
            }

            teacherList = thePaidGroup.LoadNonMemberTeachers(db);
            memberList  = thePaidGroup.LoadMemberTeachers(db);

            db.Close();
        }
Example #8
0
        public void DoEditCourse(string courseID)
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            theCourse = new Course();
            if (!theCourse.LoadFromDB(db, "course_id=" + courseID))
            {
                theCourse = null;
            }

            roomList      = Room.LoadListFromDBCustom(db, "SELECT r.room_id, r.name, b.branch_name as branch_name FROM room r, branch b WHERE r.branch_id=b.branch_id");
            teacherList   = Teacher.LoadListFromDB(db, " ORDER BY firstname");
            paidGroupList = PaidGroup.LoadListFromDB(db, " ORDER BY paid_group_id");

            db.Close();
        }
Example #9
0
        public void DoEditTeacher(string teacherID)
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            //Load GroupList
            groupList = PaidGroup.LoadListFromDB(db, "");

            theTeacher = new Teacher();
            if (!theTeacher.LoadFromDB(db, "teacher_id=" + teacherID))
            {
                theTeacher = null;
            }

            // List Course History
            string[,] bgclass = new string[, ] {
                { "class=\"spec\"", "class=\"td1\"" }, { "class=\"specalt\"", "class=\"alt\"" }
            };

            string query = "SELECT * from course ";

            query = query + "WHERE teacher_id='";
            query = query + teacherID + "' order by start_date desc";
            OdbcDataReader reader = db.Query(query);
            int            i      = 0;

            while (reader.Read())
            {
                Course course = Course.CreateForm(reader);
                outBuf3.Append("<tr>");
                outBuf3.Append("<th scope=\"row\" abbr=\"Model\" " + bgclass[i % 2, 0] + " align=center>" + course._startdate.ToString("dd MMM yyyy", ci) + "&nbsp</th>");
                outBuf3.Append("<td " + bgclass[i % 2, 1] + " align=center>" + course._btsCourseID + "&nbsp</td>");
                outBuf3.Append("<td " + bgclass[i % 2, 1] + " align=left>" + course._courseName + "&nbsp</td>");
                outBuf3.Append("<td " + bgclass[i % 2, 1] + "  >" + course._cost + "&nbsp</td>");
                outBuf3.Append("</tr>\n");

                i++;
            }
            db.Close();
        }
Example #10
0
        protected int DoPaidSubmitPayment(string courseID)
        {
            string  paidCost          = Request["paid_cost"];
            string  receiverTeacherID = Request["receiver_teacher_id"];
            AppUser user = (AppUser)Session[SessionVar.USER];

            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            db.Connect();
            db.BeginTransaction(IsolationLevel.ReadCommitted);

            Payment pay = new Payment();

            pay.LoadFromDB(db, " course_id=" + courseID);
            pay.LoadCourse(db);

            PaidGroup pg = new PaidGroup();

            pg.LoadFromDB(db, " paid_group_id=" + pay._course._paidGroupID);

            // Add history
            PaymentHistory ph = new PaymentHistory(pay, pg, Int32.Parse(paidCost), Int32.Parse(receiverTeacherID), user);

            ph.AddToDB(db);

            // refresh Payment record
            Payment.UpdatePaymentByCourse(db, Int32.Parse(courseID));
            db.Commit();

            // find latest payment
            pay.LoadHistory(db);
            int latestPaymentID = pay._historyList.Last.Value._paymentID;

            db.Close();

            return(latestPaymentID);
        }
Example #11
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();
        }
Example #12
0
        protected void DoViewPayment(string courseID)
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            db.Connect();

            thePayment = new Payment();
            thePayment.LoadFromDB(db, " course_id=" + courseID);
            thePayment.LoadHistory(db);
            thePayment.LoadCourse(db);
            Course c = thePayment._course;

            c.LoadTeacher(db);
            c.LoadPaidGroup(db);
            // preload all branches
            Dictionary <int, Branch> branches = Branch.LoadListFromDBAsMap(db, "");


            PaidGroup pg = new PaidGroup();

            pg.LoadFromDB(db, " paid_group_id=" + c._paidGroupID);
            // Load teachers in this group
            listTeacher = pg.LoadMemberTeachers(db);

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

            reader.Close();

            // 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("<a href=\"" + link + "\" >" + listTeacher[i]._firstname + " " + listTeacher[i]._surname + "</a><br>");
            }

            // Construct RaitInfo List
            StringBuilder rinfoTxt = new StringBuilder();

            for (int i = 0; i < pg._rateInfo.Length; i++)
            {
                rinfoTxt.Append("มากกว่า " + StringUtil.Int2StrComma(pg._rateInfo[i]._bound) + " บาท ได้รับ " + pg._rateInfo[i]._percent + " %<br>");
            }

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

            foreach (PaymentHistory ph in thePayment._historyList)
            {
                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><a href=\"" + link + "\" >" + ph._receiverTeacher._firstname + " " + ph._receiverTeacher._surname + "</a></td>");
                phTxt.AppendLine("<td align=center>" + ph._user._firstname + " " + ph._user._surname + "</td>");
                phTxt.AppendLine("<td align=center>" + b._branchName + "</td>");
                phTxt.AppendLine("<td align=center><a href=\"javascript:doInitPrint(" + ph._paymentID + ")\"><img src=\"" + Config.URL_PIC_SYS + "/view.gif\" border=0></a> </td>");
            }

            String htmlContent =
                String.Format(templateContent
                              , c._courseName
                              , "<a href=\"TeacherManage.aspx?actPage=edit&targetID=" + c._teacherID + "\" >" + c._teacher._firstname + " " + c._teacher._surname + "</a>"
                              , PaidGroup.GetPaidGroupID(c._paidGroupID) + " " + c._paidGroup._name
                              , teachTxt.ToString()
                              , rinfoTxt.ToString()
                              , StringUtil.Int2StrComma(thePayment._sumAllCost)
                              , StringUtil.Int2StrComma(thePayment._sumMaxPayable)
                              , StringUtil.Int2StrComma(thePayment._sumPaidCost)
                              , StringUtil.Int2StrComma(thePayment._sumMaxPayable - thePayment._sumPaidCost)
                              , phTxt.ToString()
                              );

            outBuf.Append(htmlContent);

            db.Close();
        }
Example #13
0
        protected void DoViewTeacher(string teacherID)
        {
            outBuf = new StringBuilder();

            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            theTeacher = new Teacher();
            theTeacher.LoadFromDB(db, " teacher_id=" + teacherID);
            PaidGroup[] memberInGroup = theTeacher.LoadAssosicatedPaidGroup(db);
            // Query payment
            // Payment[] pays1 = Payment.LoadListFromDBbyTeacherID(db, teacherID);
            // Payment[] pays2 = Payment.LoadListFromDBbyTeacherIDInPaidGroup(db, teacherID);
            db.Close();


            // List out all paid group that the teacher is member
            StringBuilder memberGroupTxt = new StringBuilder();

            for (int i = 0; i < memberInGroup.Length; i++)
            {
                memberGroupTxt.Append("&nbsp&nbsp" + PaidGroup.GetPaidGroupID(memberInGroup[i]._paidGroupID) + " " + memberInGroup[i]._name + "<br>");
            }

            /*
             * // Only teach by himself
             * int sumAllCost = 0;
             * int sumMaxPayable = 0;
             * int sumPaidCost = 0;
             * StringBuilder pay1Txt = new StringBuilder();
             * for (int i = 0; i < pays1.Length; i++)
             * {
             *  sumAllCost += pays1[i]._sumAllCost;
             *  sumMaxPayable += pays1[i]._sumMaxPayable;
             *  sumPaidCost += pays1[i]._sumPaidCost;
             *  string courseTxt = "<a href=\"CourseManage.aspx?actPage=view&targetID=" + pays1[i]._courseID + "\" >" + pays1[i]._btsCourseID + " " + pays1[i]._courseName + "</a>";
             *
             *  pay1Txt.AppendLine("<tr>");
             *  pay1Txt.AppendLine("<td align=left>&nbsp" + courseTxt + "</td>");
             *  pay1Txt.AppendLine("<td align=center>&nbsp" + pays1[i]._courseStartDate.ToString("dd/MM/yyyy", ci) + " - " + pays1[i]._courseEndDate.ToString("dd/MM/yyyy", ci) + "</td>");
             *  pay1Txt.AppendLine("<td align=center>&nbsp" + StringUtil.Int2StrComma(pays1[i]._sumAllCost) + "</td>");
             *  pay1Txt.AppendLine("<td align=center>&nbsp" + StringUtil.Int2StrComma(pays1[i]._sumMaxPayable) + "</td>");
             *  pay1Txt.AppendLine("<td align=center>&nbsp" + StringUtil.Int2StrComma(pays1[i]._sumPaidCost) + "</td>");
             *  pay1Txt.AppendLine("</tr>");
             * }
             * // Summary
             * pay1Txt.AppendLine("<tr>");
             * pay1Txt.AppendLine("<td align=center colspan=2 >&nbsp<b>รวม   </b></td>");
             * pay1Txt.AppendLine("<td align=center><b>&nbsp" + StringUtil.Int2StrComma(sumAllCost) + "</b></td>");
             * pay1Txt.AppendLine("<td align=center><b>&nbsp" + StringUtil.Int2StrComma(sumMaxPayable) + "</b></td>");
             * pay1Txt.AppendLine("<td align=center><b>&nbsp" + StringUtil.Int2StrComma(sumPaidCost) + "</b></td>");
             * pay1Txt.AppendLine("</tr>");
             *
             * // All in paidgroup
             * int sumAllCost2 = 0;
             * int sumMaxPayable2 = 0;
             * int sumPaidCost2 = 0;
             * StringBuilder pay2Txt = new StringBuilder();
             * for (int i = 0; i < pays2.Length; i++)
             * {
             *  sumAllCost2 += pays2[i]._sumAllCost;
             *  sumMaxPayable2 += pays2[i]._sumMaxPayable;
             *  sumPaidCost2 += pays2[i]._sumPaidCost;
             *  string courseTxt = "<a href=\"CourseManage.aspx?actPage=view&targetID=" + pays2[i]._courseID + "\" >" + pays2[i]._btsCourseID + " " + pays2[i]._courseName + "</a>";
             *
             *  pay2Txt.AppendLine("<tr>");
             *  pay2Txt.AppendLine("<td align=left>&nbsp" + courseTxt + "</td>");
             *  pay2Txt.AppendLine("<td align=center>&nbsp" + pays2[i]._courseStartDate.ToString("dd/MM/yyyy", ci) + " - " + pays2[i]._courseEndDate.ToString("dd/MM/yyyy", ci) + "</td>");
             *  pay2Txt.AppendLine("<td align=center>&nbsp" + StringUtil.Int2StrComma(pays2[i]._sumAllCost) + "</td>");
             *  pay2Txt.AppendLine("<td align=center>&nbsp" + StringUtil.Int2StrComma(pays2[i]._sumMaxPayable) + "</td>");
             *  pay2Txt.AppendLine("<td align=center>&nbsp" + StringUtil.Int2StrComma(pays2[i]._sumPaidCost) + "</td>");
             *  pay2Txt.AppendLine("</tr>");
             * }
             * // Summary
             * pay2Txt.AppendLine("<tr>");
             * pay2Txt.AppendLine("<td align=center colspan=2 >&nbsp<b>รวม   </b></td>");
             * pay2Txt.AppendLine("<td align=center><b>&nbsp" + StringUtil.Int2StrComma(sumAllCost2) + "</b></td>");
             * pay2Txt.AppendLine("<td align=center><b>&nbsp" + StringUtil.Int2StrComma(sumMaxPayable2) + "</b></td>");
             * pay2Txt.AppendLine("<td align=center><b>&nbsp" + StringUtil.Int2StrComma(sumPaidCost2) + "</b></td>");
             * pay2Txt.AppendLine("</tr>");
             */
            /*
             * StringBuilder rateTxt = new StringBuilder();
             * int currentRate = theTeacher._paidGroup.GetCurrentRate(sumAllCost2);
             * PaidRateInfo[] rate = theTeacher._paidGroup._rateInfo;
             * for (int i = 0; i < rate.Length; i++)
             * {
             *  string bgcolor = "";
             *  if (currentRate == rate[i]._percent)
             *  {
             *      bgcolor = " bgcolor=\"#FFB148\" ";
             *  }
             *
             *  rateTxt.AppendLine("<tr>");
             *  rateTxt.AppendLine("<td align=center " + bgcolor + ">&nbsp" + StringUtil.Int2StrComma(rate[i]._bound) + " </td>");
             *  rateTxt.AppendLine("<td align=center " + bgcolor + ">&nbsp" + rate[i]._percent + "% </td>");
             *  rateTxt.AppendLine("</tr>");
             * }
             */

            TextReader reader          = new StreamReader(Config.PATH_APP_ROOT + "\\template\\teacher_view.htm");
            String     templateContent = reader.ReadToEnd();

            reader.Close();

            String htmlContent =
                String.Format(templateContent
                              , Config.URL_PIC_TEACHER + "/" + theTeacher._img
                              , Teacher.GetTeacherID(theTeacher._teacherID)
                              , theTeacher._firstname + " " + theTeacher._surname
                              , theTeacher._subject
                              , Config.URL_PIC_SYS + (theTeacher._sex.Equals("Male") ? "/boy.gif" : "/girl.gif")
                              , theTeacher._birthday.ToString("dd/MM/yyyy", ci)
                              , theTeacher._citizenID
                              , theTeacher._addr
                              , theTeacher._tel
                              , theTeacher._email
                              , memberGroupTxt.ToString()
                              , "" // pay1Txt.ToString()
                              , "" //pay2Txt.ToString()
                              );


            outBuf.Append(htmlContent);
        }
Example #14
0
        protected void DoListPaymentByTeacher(string teacherID, string searchStr, bool isNewSearch)
        {
            DBManager db;

            db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);
            db.Connect();

            listTeacher = Teacher.LoadListFromDB(db, " WHERE is_active=1 ORDER BY firstname ");

            if (teacherID == null)
            {
                return;
            }


            // get Page
            int pg = 1;

            if ((!isNewSearch) && (Request["pg"] != null))
            {
                pg = Int32.Parse(Request["pg"]);
            }

            string[,] bgclass = new string[, ] {
                { "class=\"spec\"", "class=\"td1\"", "class=\"td1_grey\"", "class=\"td1_red\"" }, { "class=\"specalt\"", "class=\"alt\"", "class=\"td1_grey\"", "class=\"td1_red\"" }
            };
            string grey = "class=\"thspec_grey\"";
            string red  = "class=\"thspec_red\"";

            listPayment = new List <Payment>();

            AppUser user = (AppUser)Session[SessionVar.USER];

            filterPayment = Request["filter_payment"];
            if (filterPayment == null)
            {
                filterPayment = "0";                        // by default
            }
            string whereSQL = " pm.course_id=c.course_id AND c.teacher_id=t.teacher_id AND c.room_id = r.room_id ";

            // only admin can view all payment
            if (!user.IsAdmin())
            {
                whereSQL = whereSQL + " AND r.branch_id=" + user._branchID;
            }
            // filter only payable courses
            if (filterPayment.Equals("0"))
            {
                whereSQL = whereSQL + " AND sum_max_payable<>sum_paid_cost ";
            }

            int numRec = db.QueryCount("SELECT Count(*) FROM payment pm, course c, teacher t, room r WHERE " + whereSQL);

            OdbcDataReader reader = db.Query("SELECT pm.course_id as course_id ,c.bts_course_id as bts_course_id ,c.course_name as course_name, t.paid_group_id as paid_group_id"
                                             + ", pm.sum_all_cost as sum_all_cost, pm.sum_max_payable as sum_max_payable, pm.sum_paid_cost as sum_paid_cost "
                                             + "FROM payment pm, course c, teacher t, room r WHERE "
                                             + whereSQL + " LIMIT " + Config.TBRECORD_PER_PAGE + " OFFSET " + (((pg - 1) * Config.TBRECORD_PER_PAGE)));
            int i = 0;

            while (reader.Read())
            {
                Payment payment = Payment.CreateForm(reader);

                string chbname = "course" + payment._courseID;

                int sumPayable = payment._sumMaxPayable - payment._sumPaidCost;
                int n          = 1;
                if (sumPayable == 0)
                {
                    n = 2;
                }
                else if (sumPayable < 0)
                {
                    n = 3;
                }

                string bgcolor = (sumPayable == 0) ? grey : red;

                outBuf.Append("<tr>");
                outBuf.Append("<th scope=\"row\" abbr=\"Model\" " + (sumPayable > 0 ? bgclass[i % 2, 0] : bgcolor) + ">" + payment._btsCourseID + "</th>");
                outBuf.Append("<td " + bgclass[i % 2, n] + " align=center ><input type=\"checkbox\" name=\"" + chbname + "\" id=\"" + chbname + "\" />" + "</td>");
                outBuf.Append("<td " + bgclass[i % 2, n] + "  ><a href=\"CourseManage.aspx?actPage=view&targetID=" + payment._courseID + "\" >" + payment._courseName + "</a></td>");
                outBuf.Append("<td " + bgclass[i % 2, n] + " align=center >" + PaidGroup.GetPaidGroupID(payment._paidGroupID) + "</td>");
                outBuf.Append("<td " + bgclass[i % 2, n] + " align=center ><b>" + StringUtil.Int2StrComma(payment._sumAllCost) + "</b></td>");
                outBuf.Append("<td " + bgclass[i % 2, n] + " align=center ><b><font color=blue>" + StringUtil.Int2StrComma(payment._sumMaxPayable) + "</font></b></td>");
                outBuf.Append("<td " + bgclass[i % 2, n] + " align=center ><b><font color=red>" + StringUtil.Int2StrComma(payment._sumPaidCost) + "</font></b></td>");
                outBuf.Append("<td " + bgclass[i % 2, n] + " align=center ><b><font color=green>" + StringUtil.Int2StrComma(sumPayable) + "</font></b></td>");

                /*                outBuf.Append("<td " + bgclass[i % 2, n] + "  align=center>"
                 + payment._lastPaidDate.ToString("dd/MM/yyyy HH:mm", ci) +  "&nbsp</td>");
                 */
                outBuf.Append("<td " + bgclass[i % 2, n] + "  align=center>&nbsp");
                outBuf.Append("<a href=\"javascript:setVal('actPage','view');setVal('targetID','" + payment._courseID + "');doSubmit()\"><img src=\"img/sys/view.gif\" border=0 alt=\"View detail\"></a>&nbsp");
                //                outBuf.Append("<a href=\"javascript:if (confirm('Delete this payment?')) { setVal('actPage','delete');setVal('targetID','" + payment._paymentID + "');doSubmit(); }\"><img src=\"img/sys/delete.gif\" border=0 alt=\"Delete\"></a>&nbsp");

                outBuf.Append("</td>");
                outBuf.Append("</tr>\n");

                i++;
            }
            db.Close();

            // calculate max page
            int maxpg = numRec / Config.TBRECORD_PER_PAGE;

            if (maxpg < 1)
            {
                maxpg = 1;
            }
            else if (numRec % Config.TBRECORD_PER_PAGE > 0)
            {
                maxpg++;
            }
            // Generate Page Navi HTML
            outBuf2.Append("<b>Page</b>  ");
            for (i = 1; i <= maxpg; i++)
            {
                if (i == pg)
                {
                    outBuf2.Append("<b>" + i + "</b> ");
                }
                else
                {
                    outBuf2.Append(String.Format("<a href=\"PaymentManage.aspx?pg={0}&filter_payment={1}&qsearch={1}\">{0}</a> ", i.ToString(), filterPayment, searchStr));
                }
            }

            //  <a href="#">1</a> <b>2</b> <a href="#">3</a> <a href="#">4</a>
        }
Example #15
0
        protected void DoListPaidGroup(string searchStr)
        {
            // get Page
            int pg = 1;

            if (Request["pg"] != null)
            {
                pg = Int32.Parse(Request["pg"]);
            }

            string[,] bgclass = new string[, ] {
                { "class=\"spec\"", "class=\"td1\"" }, { "class=\"specalt\"", "class=\"alt\"" }
            };

            DBManager db     = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);
            int       numRec = db.QueryCount("SELECT Count(*) FROM paid_group " + GetQSearchSQL(searchStr));

            OdbcDataReader reader = db.Query("SELECT * FROM paid_group " + GetQSearchSQL(searchStr) + " LIMIT " + Config.TBRECORD_PER_PAGE + " OFFSET " + (((pg - 1) * Config.TBRECORD_PER_PAGE)));
            int            i      = 0;

            while (reader.Read())
            {
                PaidGroup group = BTS.Entity.PaidGroup.CreateForm(reader);

                // teacher member list
                Teacher[]     memberList = group.LoadMemberTeachers(db);
                StringBuilder memberTxt  = new StringBuilder();
                for (int j = 0; j < memberList.Length; j++)
                {
                    String txt = Teacher.GetTeacherID(memberList[j]._teacherID) + " " + memberList[j]._firstname + " " + memberList[j]._surname;
                    memberTxt.Append("<a href=\"TeacherManage.aspx?actPage=view&targetID=" + memberList[j]._teacherID + "\">" + txt + "<br>");
                }

                outBuf.Append("<tr>");
                outBuf.Append("<th scope=\"row\" abbr=\"Model\" " + bgclass[i % 2, 0] + ">" + PaidGroup.GetPaidGroupID(group._paidGroupID) + "</th>");
                outBuf.Append("<td " + bgclass[i % 2, 1] + "  >" + group._name + "&nbsp</td>");
                outBuf.Append("<td " + bgclass[i % 2, 1] + "  >" + group._rawRateInfo + "&nbsp</td>");
                outBuf.Append("<td " + bgclass[i % 2, 1] + " align=left >" + memberTxt + "&nbsp</td>");
                outBuf.Append("<td " + bgclass[i % 2, 1] + "  align=center>&nbsp");
                outBuf.Append("<a href=\"javascript:setVal('actPage','edit');setVal('targetID','" + group._paidGroupID + "');doSubmit()\"><img src=\"img/sys/edit.gif\" border=0 alt=\"Edit\"></a>&nbsp");
                outBuf.Append("<a href=\"javascript:if (confirm('Delete this user?')) { setVal('actPage','delete');setVal('targetID','" + group._paidGroupID + "');doSubmit(); }\"><img src=\"img/sys/delete.gif\" border=0 alt=\"Delete\"></a>&nbsp");

                outBuf.Append("</td>");
                outBuf.Append("</tr>\n");

                i++;
            }
            db.Close();

            // calculate max page
            int maxpg = numRec / Config.TBRECORD_PER_PAGE;

            if (maxpg < 1)
            {
                maxpg = 1;
            }
            else if (maxpg % Config.TBRECORD_PER_PAGE > 0)
            {
                maxpg++;
            }
            // Generate Page Navi HTML
            outBuf2.Append("<b>Page</b>  ");
            for (i = 1; i <= maxpg; i++)
            {
                if (i == pg)
                {
                    outBuf2.Append("<b>" + i + "</b> ");
                }
                else
                {
                    outBuf2.Append(String.Format("<a href=\"PaidGroupManage.aspx?pg={0}\">{1}</a> ", i.ToString(), i.ToString()));
                }
            }

            //  <a href="#">1</a> <b>2</b> <a href="#">3</a> <a href="#">4</a>
        }
Example #16
0
        protected void DoViewCourse(string courseID)
        {
            DBManager db = new MySQLDBManager(Config.DB_SERVER, Config.DB_NAME, Config.DB_USER, Config.DB_PASSWORD, Config.DB_CHAR_ENC);

            theCourse = new Course();
            theCourse.LoadFromDB(db, " course_id=" + courseID);
            theCourse.LoadTeacher(db);
            theCourse.LoadPaidGroup(db);
            db.Close();

            TextReader reader          = new StreamReader(Config.PATH_APP_ROOT + "\\template\\course_view.htm");
            String     templateContent = reader.ReadToEnd();

            reader.Close();

            String[,] students = LoadStudentList(db, courseID);
            StringBuilder stdTxt     = new StringBuilder();
            int           numStudent = (students.Length / 9);
            int           numCancel  = 0;

            for (int i = 0; i < numStudent; i++)
            {
                stdTxt.Append("<tr>");
                for (int j = 0; j < 9; j++)
                {
                    // edit registration
                    if (j == 8)
                    {
                        stdTxt.Append("<td>&nbsp&nbsp<a href=\"javascript:jumpToEditRegistration(" + students[i, j] + ")\"><img src=\"img/sys/edit.gif\" border=\"0\" alt=\"Edit\"></a></td>");
                        continue;
                    }


                    stdTxt.Append("<td>&nbsp&nbsp" + students[i, j] + "</td>");
                    if ((j == 6) && (students[i, j].Equals("ยกเลิก")))
                    {
                        numCancel++;
                    }
                }
                stdTxt.Append("</tr>");
            }

            String courseScheduleDetail = "-";

            if (theCourse._courseType == "คอร์สสด")
            {
                courseScheduleDetail = theCourse._startdate.ToString("dd/MM/yyyy", ci) + " - " + theCourse._enddate.ToString("dd/MM/yyyy", ci) + "<br>" + theCourse._dayOfWeek + " " + theCourse._opentime;
            }

            String htmlContent =
                String.Format(templateContent
                              , Config.URL_PIC_COURSE + "/" + theCourse._img
                              , theCourse._btsCourseID + " " + theCourse._courseName
                              , theCourse._shortName
                              , theCourse._courseType
                              , theCourse._category
                              , courseScheduleDetail
                              , theCourse._teacher._firstname + " " + theCourse._teacher._surname
                              , PaidGroup.GetPaidGroupID(theCourse._paidGroupID) + " " + theCourse._paidGroup._name
                              , StringUtil.Int2StrComma(theCourse._cost)
                              , theCourse._seatLimit.ToString()
                              , theCourse._bankRegisLimit.ToString()
                              , (numStudent - numCancel).ToString()
                              , theCourse._courseDesc
                              , "สมัคร " + numStudent + " คน ยกเลิก " + (numCancel) + " คน คงเหลือ " + (numStudent - numCancel) + " คน"
                              , stdTxt.ToString());

            outBuf.Append(htmlContent);
        }
        public void PrintCourseOption(DBManager db)
        {
            // validate course filter
            int a;

            if ((filterCourseID == null) || (filterCourseID.Length == 0) || (!Int32.TryParse(filterCourseID, out a)))
            {
                filterCourseID = "all";
            }


            // load all courses
            String whereClause = filterCourseID.Equals("all") ? "" : " AND paid_group_id=" + filterCourseID + " ";

            PaidGroup[] pgroups = PaidGroup.LoadListFromDB(db, " ORDER BY name");
            Course[]    courses = Course.LoadListFromDB(db, " WHERE is_active=1 " + whereClause + " ORDER BY bts_course_id");

            // paint course list
            fullCost = 0;
            int numCoursesPerRow = 5;

            outBuf.Append("<table border=0>");
            // print filter courses
            if (actPage.Equals("add"))
            {
                outBuf.Append("<tr><td colspan=\"" + numCoursesPerRow + "\">");
                outBuf.Append("แสดงรายการคอร์ส <select name=\"filter_courseid\" id=\"filter_courseid\" onchange=\"doChangeFilterCourse()\">");
                outBuf.Append("<option value=\"all\">ทั้งหมด</option>");
                foreach (PaidGroup pg in pgroups)
                {
                    string selected = (filterCourseID.Equals(pg._paidGroupID.ToString())) ? "selected" : "";
                    outBuf.Append("<option value=\"" + pg._paidGroupID + "\" " + selected + " >" + pg._name + "</option>");
                }
                outBuf.Append("</select>");
                outBuf.Append("</td></tr>");
            }

            for (int i = 0; i < courses.Length; i++)
            {
                string name      = "course" + courses[i]._courseID;
                string isChecked = "";
                string className = " class=\"td2\" ";
                if ((thePromotion != null) && (thePromotion._courses != null))
                {
                    for (int j = 0; j < thePromotion._courses.Length; j++)
                    {
                        if (thePromotion._courses[j]._courseID == courses[i]._courseID)
                        {
                            fullCost += courses[i]._cost;
                            isChecked = " checked ";
                            className = " class=\"td2_2\" ";
                            break;
                        }
                    }
                }

                if (i % numCoursesPerRow == 0)
                {
                    outBuf.Append("<tr>\n");
                    //  outBuf.Append("<th scope=row abbr=Model class=spec>xxx</th>");
                }
                string t  = "document.getElementById('" + name + "').checked";
                string t2 = t + "=!" + t + ";";
                t2 = t2 + " if (document.getElementById('" + name + "').checked) {this.className='td2_2';}";
                t2 = t2 + " sumFullCost(); ";

                string t1 = " if (!" + t + ") {this.className='td2'; }; hideDiv('divdetail');";
                outBuf.Append("<td " + className + " onMouseover=\"this.className='td2_2';queryCourseDetail('" + courses[i]._courseID + "')\" onMouseout=\"" + t1 + "\" onclick=\"" + t2 + "\"; return;\" >");
                outBuf.Append("<input type=checkbox id=" + name + " name=" + name + " " + isChecked + " onclick=\"" + t + "=!" + t + ";" + "\" ><font class=font01>&nbsp" + courses[i]._btsCourseID + "</font></td>");
                if (i % numCoursesPerRow == numCoursesPerRow - 1)
                {
                    outBuf.Append("</tr>\n");
                }
                outBuf.Append("<input type=hidden id=cost_" + name + " name=cost_" + name + " value=\"" + courses[i]._cost + "\" >");
            }
            outBuf.Append("</table>");
        }