Ejemplo n.º 1
0
        public void Load(int ID)
        {
            HasData = false;
            OracleConnection.ClearAllPools();
            using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) {
                con.Open();
                using(OracleCommand com = new OracleCommand("SELECT LEV_DATA.*, (SELECT LEAVE_TYPE_NAME FROM LEV_TYPE WHERE LEV_TYPE.LEAVE_TYPE_ID = LEV_DATA.LEAVE_TYPE_ID) LEAVE_TYPE_NAME, (SELECT LEAVE_STATUS_NAME FROM LEV_STATUS WHERE LEV_STATUS.LEAVE_STATUS_ID = LEV_DATA.LEAVE_STATUS_ID) LEAVE_STATUS_NAME FROM LEV_DATA WHERE LEAVE_ID = " + ID, con)) {
                    using(OracleDataReader reader = com.ExecuteReader()) {
                        while(reader.Read()) {
                            HasData = true;
                            int i = 1;
                            LeaveID = ID;
                            LeaveTypeID = reader.GetInt32(i++);
                            LeaveStatusID = reader.GetInt32(i++);

                            if(reader.IsDBNull(i)) {
                                RequestDate = null;
                            } else {
                                RequestDate = reader.GetDateTime(i);
                            }
                            ++i;

                            if (reader.IsDBNull(i)) {
                                CancelDate = null;
                            } else {
                                CancelDate = reader.GetDateTime(i);
                            }
                            ++i;

                            if (reader.IsDBNull(i)) {
                                FromDate = null;
                            } else {
                                FromDate = reader.GetDateTime(i);
                            }
                            ++i;

                            if (reader.IsDBNull(i)) {
                                ToDate = null;
                            } else {
                                ToDate = reader.GetDateTime(i);
                            }
                            ++i;

                            TotalDay = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;

                            if (reader.IsDBNull(i)) {
                                LastFromDate = null;
                            } else {
                                LastFromDate = reader.GetDateTime(i);
                            }
                            ++i;

                            if (reader.IsDBNull(i)) {
                                LastToDate = null;
                            } else {
                                LastToDate = reader.GetDateTime(i);
                            }
                            ++i;

                            LastTotalDay = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            Reason = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;
                            Contact = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;
                            Telephone = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;
                            PS_ID = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;

                            DocterCertificationFileName = reader.IsDBNull(i) ? "" : reader.GetString(i); ++i;
                            CountPast = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            CountNow = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            CountTotal = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            WifeFirstName = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;
                            WifeLastName = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;

                            if (reader.IsDBNull(i)) {
                                GiveBirthDate = null;
                            } else {
                                GiveBirthDate = reader.GetDateTime(i);
                            }
                            ++i;

                            TempleName = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;
                            TempleLocation = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;

                            if (reader.IsDBNull(i)) {
                                OrdainDate = null;
                            } else {
                                OrdainDate = reader.GetDateTime(i);
                            }
                            ++i;

                            Ordained = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            Hujed = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;

                            PS_Department = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;

                            RestSave = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            RestLeft = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            RestTotal = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            BudgetYear = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;

                            if (reader.IsDBNull(i)) {
                                Allow = null;
                            } else {
                                Allow = reader.GetInt32(i);
                            }
                            ++i;

                            if (reader.IsDBNull(i)) {
                                AllowDate = null;
                            } else {
                                AllowDate = reader.GetDateTime(i);
                            }
                            ++i;

                            if (reader.IsDBNull(i)) {
                                CancelAllow = null;
                            } else {
                                CancelAllow = reader.GetInt32(i);
                            }
                            ++i;

                            if (reader.IsDBNull(i)) {
                                CancelAllowDate = null;
                            } else {
                                CancelAllowDate = reader.GetDateTime(i);
                            }
                            ++i;

                            BossState = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;
                            BossStateMax = reader.IsDBNull(i) ? -1 : reader.GetInt32(i); ++i;

                            CancelReason = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;

                            LeaveTypeName = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;
                            LeaveStatusName = reader.IsDBNull(i) ? null : reader.GetString(i); ++i;
                        }
                    }
                }

                Person = DatabaseManager.GetPerson(PS_ID);

                using (OracleCommand com = new OracleCommand("SELECT LEV_BOSS_DATA.* FROM LEV_BOSS_DATA WHERE LEAVE_ID = " + ID, con)) {
                    using (OracleDataReader reader = com.ExecuteReader()) {
                        while (reader.Read()) {
                            LeaveBossData leaveBossData = new LeaveBossData();
                            leaveBossData.LeaveBossID = reader.GetInt32(0);
                            leaveBossData.LeaveID = reader.GetInt32(1);
                            leaveBossData.CitizenID = reader.GetString(2);
                            leaveBossData.Comment = reader.IsDBNull(3) ? null : reader.GetString(3);
                            if(reader.IsDBNull(4)) {
                                leaveBossData.Allow = null;
                            } else {
                                leaveBossData.Allow = reader.GetInt32(4);
                            }

                            leaveBossData.State = reader.GetInt32(5);
                            if(reader.IsDBNull(6)) {
                                leaveBossData.AllowDate = null;
                            } else {
                                leaveBossData.AllowDate = reader.GetDateTime(6);
                            }
                            leaveBossData.CancelComment = reader.IsDBNull(7) ? null : reader.GetString(7);
                            if (reader.IsDBNull(8)) {
                                leaveBossData.CancelAllow = null;
                            } else {
                                leaveBossData.CancelAllow = reader.GetInt32(8);
                            }
                            if (reader.IsDBNull(9)) {
                                leaveBossData.CancelAllowDate = null;
                            } else {
                                leaveBossData.CancelAllowDate = reader.GetDateTime(9);
                            }
                            leaveBossData.Person = DatabaseManager.GetPerson(leaveBossData.CitizenID);
                            LeaveBossDataList.Add(leaveBossData);

                        }
                    }
                }

            }
        }
Ejemplo n.º 2
0
 public void AddBoss(LeaveBossData leaveBossData)
 {
     LeaveBossDataList.Add(leaveBossData);
 }
Ejemplo n.º 3
0
        protected void lbuS1Check_Click(object sender, EventArgs e)
        {
            ClearNotification();
            //PersonnelSystem ps = PersonnelSystem.GetPersonnelSystem(this);
            //Person loginPerson = ps.LoginPerson;

            trS2BirthDate.Visible = false;
            trS2WorkInDate.Visible = false;
            trS2WifeName.Visible = false;
            trS2GBDate.Visible = false;
            trS2Ordained.Visible = false;
            trS2TempleName.Visible = false;
            trS2TempleLocation.Visible = false;
            trS2OrdainDate.Visible = false;
            trS2Hujed.Visible = false;
            trS2Reason.Visible = false;
            trS2Contact.Visible = false;
            trS2Phone.Visible = false;
            trS2DrCer.Visible = false;
            trS2RestSave.Visible = false;
            trS2RestLeft.Visible = false;
            trS2RestTotal.Visible = false;

            if (hfLeaveTypeID.Value == "1") {
                trS2Reason.Visible = true;
                trS2Contact.Visible = true;
                trS2Phone.Visible = true;
                trS2DrCer.Visible = true;
            } else if (hfLeaveTypeID.Value == "2") {
                trS2Reason.Visible = true;
                trS2Contact.Visible = true;
                trS2Phone.Visible = true;
            } else if (hfLeaveTypeID.Value == "3") {
                trS2Reason.Visible = true;
                trS2Contact.Visible = true;
                trS2Phone.Visible = true;
            } else if (hfLeaveTypeID.Value == "4") {
                trS2RestSave.Visible = true;
                trS2RestLeft.Visible = true;
                trS2RestTotal.Visible = true;
                trS2Contact.Visible = true;
                trS2Phone.Visible = true;
            } else if (hfLeaveTypeID.Value == "5") {
                trS2WifeName.Visible = true;
                trS2GBDate.Visible = true;
                trS2Contact.Visible = true;
                trS2Phone.Visible = true;
            } else if (hfLeaveTypeID.Value == "6") {
                trS2BirthDate.Visible = true;
                trS2WorkInDate.Visible = true;
                trS2Ordained.Visible = true;
                trS2TempleName.Visible = true;
                trS2TempleLocation.Visible = true;
                trS2OrdainDate.Visible = true;
                trS2Phone.Visible = true;
            } else if (hfLeaveTypeID.Value == "7") {
                trS2BirthDate.Visible = true;
                trS2WorkInDate.Visible = true;
                trS2Hujed.Visible = true;
            }

            if(tbS1FromDate.Text == "" || tbS1ToDate.Text == "" || !Util.IsDateValid(tbS1FromDate.Text) || !Util.IsDateValid(tbS1ToDate.Text)) {
                ChangeNotification("danger", "กรุณากรอกวันที่ให้ถูกต้อง");
                return;
            } else {
                DateTime dtFromDate = Util.ToDateTimeOracle(tbS1FromDate.Text);
                DateTime dtToDate = Util.ToDateTimeOracle(tbS1ToDate.Text);
                int totalDay = (int)(dtToDate - dtFromDate).TotalDays + 1;
                int fromToNowtotalDay = (int)(dtFromDate - DateTime.Today).TotalDays;
                if (totalDay <= 0) {
                    ChangeNotification("danger", "วันที่ไม่ถูกต้อง");
                    return;
                }
                if ((DateTime.Today - dtFromDate).TotalDays >= 90) {
                    ChangeNotification("danger", "ไม่สามารถลาย้อนหลังมากกว่า 3 เดือน");
                    return;
                }
                if ((dtFromDate - DateTime.Today).TotalDays >= 90) {
                    ChangeNotification("danger", "ไม่สามารถลาล่วงหน้ามากกว่า 3 เดือน");
                    return;
                }
                if (dtFromDate.DayOfWeek == DayOfWeek.Saturday || dtFromDate.DayOfWeek == DayOfWeek.Sunday || dtToDate.DayOfWeek == DayOfWeek.Saturday || dtToDate.DayOfWeek == DayOfWeek.Sunday) {
                    ChangeNotification("danger", "ไม่สามารถเรื่มหรือจบการลาในวันเสาร์หรือาทิตย์ได้");
                    return;
                }
                int sick_now = -1;
                int sick_max = -1;
                int business_now = -1;
                int business_max = -1;
                int huj_now = -1;
                int huj_max = -1;
                int ordain_now = -1;
                int ordain_max = -1;
                {
                    OracleConnection.ClearAllPools();
                    using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) {
                        con.Open();
                        using (OracleCommand com = new OracleCommand("SELECT SICK_NOW, SICK_MAX, BUSINESS_NOW, BUSINESS_MAX, HUJ_NOW, HUJ_MAX, ORDAIN_NOW, ORDAIN_MAX FROM LEV_CLAIM WHERE YEAR = " + Util.BudgetYear() + " AND PS_CITIZEN_ID = '" + loginPerson.CitizenID + "'", con)) {
                            using (OracleDataReader reader = com.ExecuteReader()) {
                                while (reader.Read()) {
                                    sick_now = reader.GetInt32(0);
                                    sick_max = reader.GetInt32(1);
                                    business_now = reader.GetInt32(2);
                                    business_max = reader.GetInt32(3);
                                    huj_now = reader.GetInt32(4);
                                    huj_max = reader.GetInt32(5);
                                    ordain_now = reader.GetInt32(6);
                                    ordain_max = reader.GetInt32(7);
                                }
                            }
                        }

                    }
                }
                if(hfLeaveTypeID.Value == "1") {
                    if(sick_now + totalDay > sick_max) {
                        ChangeNotification("danger", "ไม่สามารถลาป่วยได้มากกว่า " + sick_max + " วัน คุณลาไปแล้ว " + sick_now + " วัน ครั้งนี้ " + totalDay + " วัน รวม " + (sick_now + totalDay) + " วัน");
                        return;
                    }
                }
                if (hfLeaveTypeID.Value == "2") {
                    if (fromToNowtotalDay < businessBeforeDay) {
                        ChangeNotification("danger", "ต้องลาล่วงหน้ามากกว่า " + businessBeforeDay + " วัน");
                        return;
                    } else if (business_now + totalDay > business_max) {
                        ChangeNotification("danger", "ไม่สามารถลากิจได้มากกว่า " + business_max + " วัน คุณลาไปแล้ว " + business_now + " วัน ครั้งนี้ " + totalDay + " วัน รวม " + (business_now + totalDay) + " วัน");
                        return;
                    }
                }
                if (hfLeaveTypeID.Value == "3") {
                    DateTime dt1 = DateTime.Today.AddDays(-giveBirthAfterDay);
                    if ((dtFromDate - dt1).TotalDays < 0) {
                        ChangeNotification("danger", "ไม่สามารถลาย้อนหลังได้มากกว่า " + giveBirthAfterDay + " วัน");
                        return;
                    }
                }
                if (hfLeaveTypeID.Value == "4") {
                    if (fromToNowtotalDay < restBeforeDay) {
                        ChangeNotification("danger", "ต้องลาล่วงหน้ามากกว่า " + restBeforeDay + " วัน");
                        return;
                    }
                }
                if (hfLeaveTypeID.Value == "5") {
                    DateTime dt1 = DateTime.Today.AddDays(-helpGiveBirthAfterDay);
                    if ((dtFromDate - dt1).TotalDays < 0) {
                        ChangeNotification("danger", "ไม่สามารถลาย้อนหลังได้มากกว่า " + helpGiveBirthAfterDay + " วัน");
                        return;
                    }
                }
                if (hfLeaveTypeID.Value == "6") {
                    if (fromToNowtotalDay < ordainBeforeDay) {
                        ChangeNotification("danger", "ต้องลาล่วงหน้ามากกว่า " + ordainBeforeDay + " วัน");
                        return;
                    } else if (huj_now + totalDay > huj_max) {
                        ChangeNotification("danger", "ไม่สามารถลาไปอุปสมบทได้มากกว่า " + ordain_max + " วัน คุณลาไปแล้ว " + ordain_now + " วัน ครั้งนี้ " + totalDay + " วัน รวม " + (ordain_now + totalDay) + " วัน");
                        return;
                    }
                }
                if (hfLeaveTypeID.Value == "7") {
                    if(fromToNowtotalDay < hujBeforeDay) {
                        ChangeNotification("danger", "ต้องลาล่วงหน้ามากกว่า " + hujBeforeDay + " วัน");
                        return;
                    }
                    else if (huj_now + totalDay > huj_max) {
                        ChangeNotification("danger", "ไม่สามารถลาไปประกอบพิธีฮัจญ์ได้มากกว่า " + huj_max + " วัน คุณลาไปแล้ว " + huj_now + " วัน ครั้งนี้ " + totalDay + " วัน รวม " + (huj_now + totalDay) + " วัน");
                        return;
                    }
                }

                {

                    OracleConnection.ClearAllPools();
                    using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) {
                        con.Open();
                        using (OracleCommand com = new OracleCommand("SELECT LEAVE_ID FROM LEV_DATA WHERE " + Util.DatabaseToDateSearch(tbS1FromDate.Text) + " <= TO_DATE AND " + Util.DatabaseToDateSearch(tbS1ToDate.Text) + " >= FROM_DATE AND PS_ID = '" + loginPerson.CitizenID + "' AND BUDGET_YEAR = " + Util.BudgetYear() + " AND LEAVE_STATUS_ID IN(3,4) AND V_ALLOW = 1", con)) {
                            using (OracleDataReader reader = com.ExecuteReader()) {
                                while (reader.Read()) {
                                    LeaveData leaveData = new LeaveData();
                                    leaveData.Load(reader.GetInt32(0));
                                    ChangeNotification("danger", "ไม่สามารถลาได้ พบวันลาซ้อนทับกัน (รหัสการลา " + leaveData.LeaveID + ", " + leaveData.FromDate.Value.ToLongDateString() + " ถึง " + leaveData.ToDate.Value.ToLongDateString() + ")");
                                    return;
                                }
                            }
                        }
                        using (OracleCommand com = new OracleCommand("SELECT TO_DATE FROM LEV_DATA WHERE PS_ID = '" + loginPerson.CitizenID + "' AND LEAVE_TYPE_ID = " + hfLeaveTypeID.Value + " AND EXTRACT(YEAR FROM FROM_DATE) = " + Util.BudgetYear() + " AND LEAVE_STATUS_ID IN(3,4) AND V_ALLOW = 1 ORDER BY LEAVE_ID DESC", con)) {
                            using (OracleDataReader reader = com.ExecuteReader()) {
                                if (reader.Read()) {
                                    DateTime dtLastToDate = reader.GetDateTime(0);
                                    if((dtFromDate - dtLastToDate).TotalDays <= 0) {
                                        ChangeNotification("danger", "ไม่สามารถลาก่อนวันที่ลาล่าสุดได้ (" + dtLastToDate.ToLongDateString() + ")");
                                        return;
                                    }
                                }
                            }
                        }

                    }
                }

            }

            if(hfLeaveTypeID.Value == "1" || hfLeaveTypeID.Value == "2" || hfLeaveTypeID.Value == "3") {
                if(tbS1FromDate.Text == "" || tbS1ToDate.Text == "" || !Util.IsDateValid(tbS1FromDate.Text) || !Util.IsDateValid(tbS1ToDate.Text)) {
                    ChangeNotification("danger", "วันที่ไม่ถูกต้อง");
                    return;
                }
                if(tbS1Reason.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกเหตุผล");
                    return;
                }
                if (tbS1Contact.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกติดต่อได้ที่");
                    return;
                }
                if (tbS1Phone.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกเบอร์โทรศัพท์");
                    return;
                }
                if(hfLeaveTypeID.Value == "1") {
                    DateTime dtFromDate = Util.ToDateTimeOracle(tbS1FromDate.Text);
                    DateTime dtToDate = Util.ToDateTimeOracle(tbS1ToDate.Text);
                    int totalDay = (int)(dtToDate - dtFromDate).TotalDays + 1;
                    if (totalDay >= 30 && !FileUpload1.HasFile) {
                        ChangeNotification("danger", "คุณต้องมีใบรับรองแพทย์เมื่อทำการลาเกิน 30 วัน ลาครั้งนี้ " + totalDay + " วัน");
                        return;
                    }
                }
            }
            if (hfLeaveTypeID.Value == "4") {
                if (tbS1FromDate.Text == "" || tbS1ToDate.Text == "" || !Util.IsDateValid(tbS1FromDate.Text) || !Util.IsDateValid(tbS1ToDate.Text)) {
                    ChangeNotification("danger", "วันที่ไม่ถูกต้อง");
                    return;
                }
                if (tbS1Contact.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกติดต่อได้ที่");
                    return;
                }
                if (tbS1Phone.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกเบอร์โทรศัพท์");
                    return;
                }
                DateTime dtFromDate = Util.ToDateTimeOracle(tbS1FromDate.Text);
                DateTime dtToDate = Util.ToDateTimeOracle(tbS1ToDate.Text);
                int totalDay = (int)(dtToDate - dtFromDate).TotalDays + 1;
                int max = DatabaseManager.ExecuteInt("SELECT REST_MAX FROM LEV_CLAIM WHERE PS_CITIZEN_ID = '" + loginPerson.CitizenID + "' AND YEAR = " + Util.BudgetYear());
                int now = DatabaseManager.ExecuteInt("SELECT REST_NOW FROM LEV_CLAIM WHERE PS_CITIZEN_ID = '" + loginPerson.CitizenID + "' AND YEAR = " + Util.BudgetYear());
                if (now + totalDay > max) {
                    ChangeNotification("danger", "ปีนี้คุณไม่สามารถลาพักผ่อนเกิน " + max + " วันได้ ลาไปแล้ว " + now + " วัน ครั้งนี้ " + totalDay + " วัน รวม " + (totalDay + now) + " วัน");
                    return;
                }
            }
            if (hfLeaveTypeID.Value == "5") {
                if (tbS1WifeFirstName.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกชื่อจริงภริยา");
                    return;
                }
                if (tbS1WifeLastName.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกนามสกุลภริยา");
                    return;
                }
                if (tbS1GBDate.Text == "" || !Util.IsDateValid(tbS1GBDate.Text)) {
                    ChangeNotification("danger", "วันที่คลอดบุตรไม่ถูกต้อง");
                    return;
                }
                if (tbS1FromDate.Text == "" || tbS1ToDate.Text == "" || !Util.IsDateValid(tbS1FromDate.Text) || !Util.IsDateValid(tbS1ToDate.Text)) {
                    ChangeNotification("danger", "วันที่ไม่ถูกต้อง");
                    return;
                }
                if (tbS1Contact.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกติดต่อได้ที่");
                    return;
                }
                if (tbS1Phone.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกเบอร์โทรศัพท์");
                    return;
                }
            }
            if (hfLeaveTypeID.Value == "6") {
                if (!rbS1OrdainedT.Checked && !rbS1OrdainedF.Checked) {
                    ChangeNotification("danger", "กรุณาเลือกการอุปสมบท");
                    return;
                }
                if (tbS1TempleName.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกชื่อวัด");
                    return;
                }
                if (tbS1TempleLocation.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกสถานที่");
                    return;
                }
                if (tbS1OrdainDate.Text == "" || !Util.IsDateValid(tbS1OrdainDate.Text)) {
                    ChangeNotification("danger", "วันที่อุปสมบทไม่ถูกต้อง");
                    return;
                }
                if (tbS1FromDate.Text == "" || tbS1ToDate.Text == "" || !Util.IsDateValid(tbS1FromDate.Text) || !Util.IsDateValid(tbS1ToDate.Text)) {
                    ChangeNotification("danger", "วันที่ไม่ถูกต้อง");
                    return;
                }
                if (tbS1Phone.Text == "") {
                    ChangeNotification("danger", "กรุณากรอกเบอร์โทรศัพท์");
                    return;
                }
            }
            if (hfLeaveTypeID.Value == "7") {
                if (!rbS1HujedT.Checked && !rbS1HujedF.Checked) {
                    ChangeNotification("danger", "กรุณาเลือกการไปประกอบพิธีฮัจย์");
                    return;
                }
                if (tbS1FromDate.Text == "" || tbS1ToDate.Text == "" || !Util.IsDateValid(tbS1FromDate.Text) || !Util.IsDateValid(tbS1ToDate.Text)) {
                    ChangeNotification("danger", "วันที่ไม่ถูกต้อง");
                    return;
                }
            }

            {

                MV1.ActiveViewIndex = 2;

                Session["LeaveSickFileUpload"] = FileUpload1;

                divReq.Visible = false;
                //ChangeNotification("info", "กรุณายืนยันข้อมูลอีกครั้ง");

                string leavedDate = "ไม่เคยลา";
                DateTime? lastFromDate = null;
                DateTime? lastToDate = null;
                int lastTotalDay = 0;

                int pastTotalDay = DatabaseManager.ExecuteInt("SELECT NVL(SUM(TOTAL_DAY),0) FROM LEV_DATA WHERE PS_ID = '" + loginPerson.CitizenID + "' AND LEAVE_TYPE_ID = " + hfLeaveTypeID.Value + " AND EXTRACT(YEAR FROM FROM_DATE) = " + Util.BudgetYear() + " AND V_ALLOW = 1");

                OracleConnection.ClearAllPools();
                using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) {
                    con.Open();
                    using (OracleCommand com = new OracleCommand("SELECT FROM_DATE, TO_DATE, TOTAL_DAY FROM LEV_DATA WHERE PS_ID = '" + loginPerson.CitizenID + "' AND LEAVE_TYPE_ID = " + hfLeaveTypeID.Value + " AND EXTRACT(YEAR FROM FROM_DATE) = " + Util.BudgetYear() + " AND V_ALLOW = 1 ORDER BY LEAVE_ID DESC", con)) {
                        using (OracleDataReader reader = com.ExecuteReader()) {
                            if (reader.Read()) {
                                lastFromDate = reader.GetDateTime(0);
                                lastToDate = reader.GetDateTime(1);
                                lastTotalDay = (int)(lastToDate.Value - lastFromDate.Value).TotalDays + 1;
                                leavedDate = lastFromDate.Value.ToLongDateString() + " ถึง " + lastToDate.Value.ToLongDateString() + " รวม " + lastTotalDay + " วัน ";
                            } else {
                                lastTotalDay = 0;
                            }
                        }
                    }

                }

                int restSave = -1;
                int restLeft = -1;
                int restTotal = -1;
                OracleConnection.ClearAllPools();
                using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) {
                    con.Open();
                    using (OracleCommand com = new OracleCommand("SELECT REST_SAVE, REST_THIS FROM LEV_CLAIM WHERE PS_CITIZEN_ID = '" + loginPerson.CitizenID + "' AND YEAR = " + Util.BudgetYear(), con)) {
                        using (OracleDataReader reader = com.ExecuteReader()) {
                            if (reader.Read()) {
                                restSave = reader.GetInt32(0);
                                restLeft = reader.GetInt32(1);
                                restTotal = restSave + restLeft;
                            }
                        }
                    }

                }

                lbS2PSName.Text = loginPerson.FullName;
                lbS2PSPos.Text = loginPerson.PositionWorkName;
                lbS2PSAPos.Text = loginPerson.AdminPositionName;
                lbS2PSDept.Text = loginPerson.DivisionName;
                lbS2PSBirthDate.Text = loginPerson.BirthDate.Value.ToLongDateString();
                lbS2PSWorkInDate.Text = loginPerson.InWorkDate.Value.ToLongDateString();
                lbS2RestSave.Text = restSave + " วัน";
                lbS2RestLeft.Text = restLeft + " วัน";
                lbS2RestTotal.Text = restTotal + " วัน";
                lbS2WifeName.Text = tbS1WifeFirstName.Text + " " + tbS1WifeLastName.Text;
                lbS2GBDate.Text = tbS1GBDate.Text;
                lbS2Ordained.Text = rbS1OrdainedT.Checked ? "เคย" : "ไม่เคย";
                lbS2TempleName.Text = tbS1TempleName.Text;
                lbS2TempleLocation.Text = tbS1TempleLocation.Text;
                lbS2OrdainDate.Text = tbS1OrdainDate.Text;
                lbS2Hujed.Text = rbS1HujedT.Checked ? "เคย" : "ไม่เคย";
                lbS2LastFTTDate.Text = leavedDate;
                lbS2LeaveTypeName.Text = hfLeaveTypeName.Value;
                DateTime dtFromDate = Util.ToDateTimeOracle(tbS1FromDate.Text);
                DateTime dtToDate = Util.ToDateTimeOracle(tbS1ToDate.Text);
                int totalDay = (int)(dtToDate - dtFromDate).TotalDays + 1;
                lbS2FTTDate.Text = dtFromDate.ToLongDateString() + " ถึง " + dtToDate.ToLongDateString() + " รวม " + totalDay + " วัน";
                lbS2Statistic.Text = "ลามาแล้ว " + pastTotalDay + " วัน / ลาครั้งนี้ " + totalDay + " วัน / รวม " + (pastTotalDay + totalDay) + " วัน";
                lbS2Reason.Text = tbS1Reason.Text;
                lbS2Contact.Text = tbS1Contact.Text;
                lbS2Phone.Text = tbS1Phone.Text;
                string drCer;
                if (FileUpload1.HasFile) {
                    lbS2DrCer.Text = "มี";
                    FileInfo fi = new FileInfo(FileUpload1.FileName);
                    drCer = Util.RandomFileName() + fi.Extension;
                } else {
                    lbS2DrCer.Text = "ไม่มี";
                    drCer = "";
                }

                //----------CL CH--

                //string psCLID = "";
                //string psCHID = "";
                List<Person> psBossID = new List<Person>();

                /*int อธิการบดีลาป่วยวัน = -1;
                int อธิการบดีลากิจวัน = -1;
                bool อธิการบดีลาคลอดบุตร = false;
                bool อธิการบดีลาช่วยเหลือภริยาคลอดบุตร = false;
                bool อธิการบดีลาพักผ่อน = false;
                bool อธิการบดีลาอุปสมบทฮัจญ์ = false;

                int คณะบดีลาป่วยวัน = -1;
                int คณะบดีลากิจวัน = -1;
                bool คณะบดีลาคลอดบุตร = false;
                bool คณะบดีลาช่วยเหลือภริยาคลอดบุตร = false;
                bool คณะบดีลาพักผ่อน = false;
                bool คณะบดีลาอุปสมบทฮัจญ์ = false;

                int หัวหน้าภาควิชาลาป่วยวัน = -1;
                int หัวหน้าภาควิชาลากิจวัน = -1;
                bool หัวหน้าภาควิชาลาคลอดบุตร = false;
                bool หัวหน้าภาควิชาลาช่วยเหลือภริยาคลอดบุตร = false;
                bool หัวหน้าภาควิชาลาพักผ่อน = false;
                bool หัวหน้าภาควิชาลาอุปสมบทฮัจญ์ = false;

                int หัวหน้าฝ่ายลาป่วยวัน = -1;
                int หัวหน้าฝ่ายลากิจวัน = -1;
                bool หัวหน้าฝ่ายลาคลอดบุตร = false;
                bool หัวหน้าฝ่ายลาช่วยเหลือภริยาคลอดบุตร = false;
                bool หัวหน้าฝ่ายลาพักผ่อน = false;
                bool หัวหน้าฝ่ายลาอุปสมบทฮัจญ์ = false;

                OracleConnection.ClearAllPools();
                using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) {
                    con.Open();
                    using (OracleCommand com = new OracleCommand("SELECT * FROM LEV_PERMISSION", con)) {
                        using (OracleDataReader reader = com.ExecuteReader()) {
                            while (reader.Read()) {
                                int APOWER = reader.GetInt32(1);
                                if (APOWER == 1) {
                                    อธิการบดีลาป่วยวัน = reader.GetInt32(2);
                                    อธิการบดีลากิจวัน = reader.GetInt32(3);
                                    อธิการบดีลาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(4));
                                    อธิการบดีลาช่วยเหลือภริยาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(5));
                                    อธิการบดีลาพักผ่อน = Convert.ToBoolean(reader.GetInt32(6));
                                    อธิการบดีลาอุปสมบทฮัจญ์ = Convert.ToBoolean(reader.GetInt32(7));
                                } else if (APOWER == 2) {
                                    คณะบดีลาป่วยวัน = reader.GetInt32(2);
                                    คณะบดีลากิจวัน = reader.GetInt32(3);
                                    คณะบดีลาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(4));
                                    คณะบดีลาช่วยเหลือภริยาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(5));
                                    คณะบดีลาพักผ่อน = Convert.ToBoolean(reader.GetInt32(6));
                                    คณะบดีลาอุปสมบทฮัจญ์ = Convert.ToBoolean(reader.GetInt32(7));
                                } else if (APOWER == 3) {
                                    หัวหน้าภาควิชาลาป่วยวัน = reader.GetInt32(2);
                                    หัวหน้าภาควิชาลากิจวัน = reader.GetInt32(3);
                                    หัวหน้าภาควิชาลาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(4));
                                    หัวหน้าภาควิชาลาช่วยเหลือภริยาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(5));
                                    หัวหน้าภาควิชาลาพักผ่อน = Convert.ToBoolean(reader.GetInt32(6));
                                    หัวหน้าภาควิชาลาอุปสมบทฮัจญ์ = Convert.ToBoolean(reader.GetInt32(7));
                                } else if (APOWER == 4) {
                                    หัวหน้าฝ่ายลาป่วยวัน = reader.GetInt32(2);
                                    หัวหน้าฝ่ายลากิจวัน = reader.GetInt32(3);
                                    หัวหน้าฝ่ายลาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(4));
                                    หัวหน้าฝ่ายลาช่วยเหลือภริยาคลอดบุตร = Convert.ToBoolean(reader.GetInt32(5));
                                    หัวหน้าฝ่ายลาพักผ่อน = Convert.ToBoolean(reader.GetInt32(6));
                                    หัวหน้าฝ่ายลาอุปสมบทฮัจญ์ = Convert.ToBoolean(reader.GetInt32(7));
                                }
                            }
                        }
                    }

                }*/

                using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) {
                    con.Open();

                    List<Person> tempBossID = DatabaseManager.รหัสหัวหน้า(loginPerson.CitizenID);
                    for (int i = 0; i < tempBossID.Count; i++) {
                        int dayReq = 1;
                        bool ableAllow = false;
                        using (OracleCommand com = new OracleCommand("SELECT * FROM LEV_PERMISSION WHERE ADMIN_POSITION_POWER = " + tempBossID[i].AdminPositionPower + " ORDER BY LEAVE_PERMISSION_ID DESC", con)) {
                            using (OracleDataReader reader = com.ExecuteReader()) {
                                while (reader.Read()) {
                                    if (hfLeaveTypeID.Value == "1") {
                                        dayReq = reader.GetInt32(2);
                                    } else if (hfLeaveTypeID.Value == "2") {
                                        dayReq = reader.GetInt32(3);
                                    } else if (hfLeaveTypeID.Value == "3") {
                                        ableAllow = reader.GetInt32(4) == 1 ? true : false;
                                    } else if (hfLeaveTypeID.Value == "4") {
                                        ableAllow = reader.GetInt32(6) == 1 ? true : false;
                                    } else if (hfLeaveTypeID.Value == "5") {
                                        ableAllow = reader.GetInt32(5) == 1 ? true : false;
                                    } else if (hfLeaveTypeID.Value == "6") {
                                        ableAllow = reader.GetInt32(7) == 1 ? true : false;
                                    } else if (hfLeaveTypeID.Value == "7") {
                                        ableAllow = reader.GetInt32(7) == 1 ? true : false;
                                    }

                                }
                            }
                        }

                        if(hfLeaveTypeID.Value == "1" || hfLeaveTypeID.Value == "2") {
                            if (dayReq >= totalDay) {
                                psBossID.Add(tempBossID[i]);
                                break;
                            } else {
                                psBossID.Add(tempBossID[i]);
                            }
                        } else {
                            if(ableAllow) {
                                psBossID.Add(tempBossID[i]);
                                break;
                            } else {
                                psBossID.Add(tempBossID[i]);
                            }
                        }

                    }

                }

                {
                    TableRow row = new TableRow();
                    TableCell cell2;
                    System.Web.UI.WebControls.Image image;
                    tbBoss.Rows.Add(row);

                    for (int j = 0; j < psBossID.Count; j++) {

                        cell2 = new TableCell();
                        cell2.Style.Add("vertical-align", "top");

                        Table tb = new Table();
                        tb.CssClass = "ps-table-1";
                        tb.Style.Add("text-align", "left");
                        {
                            TableRow tr;
                            TableCell cell3;

                            tr = new TableRow();
                            tb.Rows.Add(tr);

                            cell3 = new TableCell();
                            cell3.ColumnSpan = 2;
                            cell3.Style.Add("text-align", "center");
                            image = new System.Web.UI.WebControls.Image();
                            image.CssClass = "ps-ms-main-drop-profile-pic";

                            string imagePath = DatabaseManager.GetPersonImageFileName(psBossID[j].CitizenID);
                            if (imagePath != "") {
                                image.Attributes["src"] = "Upload/PersonImage/" + imagePath;
                                cell3.Controls.Add(image);
                            }
                            tr.Cells.Add(cell3);

                            tr = new TableRow();
                            tb.Rows.Add(tr);

                            cell3 = new TableCell();
                            cell3.Text = "ชื่อ";
                            tr.Cells.Add(cell3);

                            cell3 = new TableCell();
                            cell3.Text = psBossID[j].FirstNameAndLastName;
                            tr.Cells.Add(cell3);

                            tr = new TableRow();
                            tb.Rows.Add(tr);

                            cell3 = new TableCell();
                            cell3.Text = "ตำแหน่ง";
                            tr.Cells.Add(cell3);

                            cell3 = new TableCell();
                            cell3.Text = psBossID[j].PositionWorkName;
                            tr.Cells.Add(cell3);

                            tr = new TableRow();
                            tb.Rows.Add(tr);

                            cell3 = new TableCell();
                            cell3.Text = "ระดับ";
                            tr.Cells.Add(cell3);

                            cell3 = new TableCell();
                            cell3.Text = psBossID[j].AdminPositionName + "<br />" + psBossID[j].AdminPositionNameExtra();
                            tr.Cells.Add(cell3);

                        }

                        cell2.Controls.Add(tb);

                        row.Cells.Add(cell2);
                    }
                }
                /*{
                    TableRow row = new TableRow();
                    TableCell cell;
                    System.Web.UI.WebControls.Image image;
                    tbBoss.Rows.Add(row);

                    for (int i = 0; i < psBossID.Count; i++) {

                        cell = new TableCell();
                        image = new System.Web.UI.WebControls.Image();
                        image.CssClass = "ps-ms-main-drop-profile-pic";

                        string imagePath = DatabaseManager.GetPersonImageFileName(psBossID[i].CitizenID);
                        if (imagePath != "") {
                            image.Attributes["src"] = "Upload/PersonImage/" + imagePath;
                            cell.Controls.Add(image);
                        }

                        Panel p2 = new Panel();
                        Label lb = new Label();
                        lb.Text = "<span class='ps-lb-red-b'>" + psBossID[i].FirstNameAndLastName + "</span><br /><span style='color: #808080;'>" + psBossID[i].CitizenID + "</span><br />" + psBossID[i].PositionWorkName + "<br />" + psBossID[i].AdminPositionName + "<br />" + psBossID[i].AdminPositionNameExtra();
                        p2.Controls.Add(lb);
                        cell.Controls.Add(p2);

                        row.Cells.Add(cell);
                    }
                }*/

                /*if(hfLeaveTypeID.Value == "1") {
                    if(totalDay <= หัวหน้าฝ่ายลาป่วยวัน) {
                        if(loginPerson.AdminPositionPower == "0") { //ไม่มี
                            if(loginPerson.IsTeacher()) {
                                psBossID.Add(DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID));
                            } else if(loginPerson.WorkDivisionID != null) {
                                psBossID.Add(DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.DivisionID));
                            } else {
                                psBossID.Add(DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID));
                            }

                        } else if (loginPerson.AdminPositionPower == "1") { //หัวหน้าฝ่าย

                            if (loginPerson.IsTeacher()) {
                                psBossID.Add(DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID));
                            } else if (loginPerson.WorkDivisionID != null) {
                                psBossID.Add(DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.DivisionID));
                            } else {
                                psBossID.Add(DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID));
                            }

                            psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else if (totalDay <= หัวหน้าภาควิชาลาป่วยวัน) {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else if (totalDay <= คณะบดีลาป่วยวัน) {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else if (totalDay <= อธิการบดีลาป่วยวัน) {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCLID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCLID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCLID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    }
                } else if (hfLeaveTypeID.Value == "2") {
                    if (totalDay <= หัวหน้าฝ่ายลากิจวัน) {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCHID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else if (totalDay <= หัวหน้าภาควิชาลากิจวัน) {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else if (totalDay <= คณะบดีลากิจวัน) {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else if (totalDay <= อธิการบดีลากิจวัน) {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCLID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    } else {
                        if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                            psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                            psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                            psCLID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                            psCLID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                            psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                        } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                            psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                        }
                    }
                } else if (hfLeaveTypeID.Value == "3") {
                    if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                        psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                        psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                    } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                        psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                    } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                        psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                    } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                        psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                    } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    }
                } else if (hfLeaveTypeID.Value == "4") {
                    if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                        psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                        psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                    } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                        psCHID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                    } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                        psCHID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                    } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                        psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                    } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    }
                } else if (hfLeaveTypeID.Value == "5") {
                    if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                        psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                        psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                    } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                        psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                    } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                        psCLID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                    } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                        psCHID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                    } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    }
                } else if (hfLeaveTypeID.Value == "6" || hfLeaveTypeID.Value == "7") {
                    if (loginPerson.AdminPositionID == "0" || loginPerson.AdminPositionID == "8" || loginPerson.AdminPositionID == "9") { //ไม่มี
                        psCLID = DatabaseManager.รหัสหัวหน้าฝ่าย(loginPerson.WorkDivisionID);
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "4") { //หัวหน้าฝ่าย
                        psCLID = DatabaseManager.รหัสหัวหน้าภาควิชา(loginPerson.DivisionID);
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "7") { //หัวหน้าภาควิชา
                        psCLID = DatabaseManager.รหัสคณบดี(loginPerson.FacultyID);
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "3" || loginPerson.AdminPositionID == "6") { //คณบดี
                        psCLID = DatabaseManager.รหัสอธิการบดี(loginPerson.CampusID);
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "1" || loginPerson.AdminPositionID == "2" || loginPerson.AdminPositionID == "5") { //อธิการบดี
                        psCHID = DatabaseManager.รหัสเลขาธิการคณะกรรมการ();
                    } else if (loginPerson.AdminPositionID == "10022") { //เลขาธิการคณะกรรมการ
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    } else if (loginPerson.AdminPositionID == "10021") { //รัฐมนตรีเจ้าสังกัด
                        psCHID = DatabaseManager.รหัสรัฐมนตรีเจ้าสังกัด();
                    }
                }*/

                //Person psCL = DatabaseManager.GetPerson("1"/*psCLID*/);
                // Person psCH = DatabaseManager.GetPerson("1"/*psCHID*/);

                /* if(psCLID == "" && psCL == null) {
                     lbS2CL.Text = "ไม่มี";
                     psCLImage.Visible = false;
                 }

                 if (psCL != null) {
                     lbS2CL.Text = "<span class='ps-lb-red-b'>" + psCL.FirstNameAndLastName + "</span><br />" + psCL.CitizenID + "<br />" + psCL.PositionWorkName + "<br />" + psCL.AdminPositionName;
                     psCLImage.Visible = true;
                 } else {
                     lbS2CL.Text = "ไม่มี";
                     psCLImage.Visible = false;
                 }

                 if ( (psCLID != "" && psCL == null) || (psCHID != "" && psCH == null)) {

                     if (psCLID != "" && psCL == null) {
                         psCLImage.Visible = false;
                         lbS2CL.Text = "พบข้อผิดพลาด<br />ไม่พบพนักงาน";
                         lbS2CL.ForeColor = Color.Red;
                     }

                     if (psCHID != "" && psCH == null) {
                         psCHImage.Visible = false;
                         lbS2CH.Text = "พบข้อผิดพลาด<br />ไม่พบพนักงาน";
                         lbS2CH.ForeColor = Color.Red;
                     }

                     lbuS2Finish.Visible = false;
                     return;
                 }*/

                /* psCLImage.Visible = true;
                 psCHImage.Visible = true;
                 lbS2CL.ForeColor = Color.Black;
                 lbS2CH.ForeColor = Color.Black;
                 lbuS2Finish.Visible = true;*/

                //Person psCL = DatabaseManager.GetPerson("1700070000701");
                //Person psCH = DatabaseManager.GetPerson("1700070000702");

                /* if (psCL == null) {
                     lbS2CL.Text = "-";
                 }*/

                //----------- END CL CH--

                LeaveData leaveData = new LeaveData();
                leaveData.LeaveTypeID = int.Parse(hfLeaveTypeID.Value);
                leaveData.LeaveStatusID = 1;
                leaveData.PS_ID = loginPerson.CitizenID;
                leaveData.RequestDate = DateTime.Now;
                leaveData.FromDate = dtFromDate;
                leaveData.ToDate = dtToDate;
                leaveData.TotalDay = totalDay;
                leaveData.Reason = tbS1Reason.Text;
                leaveData.Contact = tbS1Contact.Text;
                leaveData.Telephone = tbS1Phone.Text;
                if (lastFromDate.HasValue) {
                    leaveData.LastFromDate = lastFromDate;
                    leaveData.LastToDate = lastToDate;
                }
                leaveData.LastTotalDay = lastTotalDay;

                leaveData.DocterCertificationFileName = drCer;
                leaveData.CountPast = pastTotalDay;
                leaveData.CountNow = totalDay;
                leaveData.CountTotal = pastTotalDay + totalDay;
                leaveData.RestLeft = restLeft;
                leaveData.RestSave = restSave;
                leaveData.RestTotal = restTotal;
                leaveData.WifeFirstName = tbS1WifeFirstName.Text;
                leaveData.WifeLastName = tbS1WifeLastName.Text;
                if(hfLeaveTypeID.Value == "5")
                    leaveData.GiveBirthDate = Util.ToDateTimeOracle(tbS1GBDate.Text);
                leaveData.Ordained = rbS1OrdainedT.Checked ? 1 : 0;
                leaveData.TempleName = tbS1TempleName.Text;
                leaveData.TempleLocation = tbS1TempleLocation.Text;
                if (hfLeaveTypeID.Value == "6")
                    leaveData.OrdainDate = Util.ToDateTimeOracle(tbS1OrdainDate.Text);
                leaveData.Hujed = rbS1HujedT.Checked ? 1 : 0;

                for (int i = 0; i < psBossID.Count; i++) {
                    LeaveBossData leaveBossData = new LeaveBossData();
                    leaveBossData.CitizenID = psBossID[i].CitizenID;
                    leaveData.AddBoss(leaveBossData);
                }

                Session["LeaveData"] = leaveData;

                hfFileUploadName.Value = drCer;

            }
        }