protected void Page_Load(object sender, EventArgs e) { string html = ""; int month = 0; int year = 0; int person_id = 0; SQLDB sql = new SQLDB(); Date dt = new Date(); MonthDB mdb = new MonthDB(); if (Request.QueryString["month"] != null) month = Convert.ToInt32(Request.QueryString["month"]); if (Request.QueryString["year"] != null) year = Convert.ToInt32(Request.QueryString["year"]); if (Request.QueryString["id"] != null) person_id = Convert.ToInt32(Request.QueryString["id"]); Employee emp = sql.getEmployee(person_id); lbEmployeeName.Text = emp.FIO; lbPeriodName.Text = mdb.getMonthName(month).ToUpper() + " " + year.ToString(); string start_period = dt.getDataToSAP(1, month, year); List<CheckedHours> hours = sql.getCheckedSchedule(start_period, person_id); if (hours.Count > 0) { html = @"<table cellpadding='0' cellspacing='0' class='main_table' width='270px'> <tr style='background: url(App_Resources/header.bmp) repeat-x;' > <td class='header_table' width='70px' style='border-left: solid 1px #999999; border-top: solid 1px #999999;' >Дата</td> <td class='header_table' width='100px' style='border-top: solid 1px #999999;'>IT</td> <td class='header_table' width='100px' style='border-top: solid 1px #999999;'>SAP</td> </tr>"; foreach (CheckedHours ch in hours) { html += "<tr><td width='70px' style='border-left: solid 1px #999999;'>" + ch.DayDate + "</td><td width='100px'>" + ch.IT_Hours.ToString() + "</td><td width='100px'>" + ch.SAP_Hours.ToString() + "</td><tr>"; } html += "</table>"; } else { string msg = ""; if (dt.isOpen(month, year)) msg = "Введенный график совпадает с графиком SAP"; else msg = "Нет данных"; html = "<div class='check_personal' style='width: 270px; height:50px; color: DarkRed;'>" + msg + "</div>"; } lbTable.Text = html; }
// формируем отчетные периоды в формате - название мес¤ца + год (отображаетс¤ в выпадающем списке) public List<Period> getPeriodsToDropDownList() { MonthDB monthDB = new MonthDB(); PeriodDB periodDB = new PeriodDB(); List<Period> periods = new List<Period>(); int year = DateTime.Now.Year; int curMonth = DateTime.Now.Month; int furtherMonth = curMonth; int furtherYear = year; int day = DateTime.Now.Day; if (furtherMonth == 12) { furtherMonth = 1; furtherYear++; } else furtherMonth++; // если сегодн¤ первое число мес¤ца, то провер¤ем есть запись с новым периодом. ≈сли нет, то записываем новый период. if (!periodDB.isPeriodExists(furtherMonth, furtherYear)) periodDB.insertNewPeriod(furtherMonth, monthDB.getMonthName(furtherMonth), furtherYear, 0); Period p3 = periodDB.getPeriod(furtherMonth, furtherYear); p3.MonthName = p3.MonthName + " " + p3.Year.ToString(); periods.Add(p3); Period p1 = periodDB.getPeriod(curMonth, year); p1.MonthName = p1.MonthName + " " + p1.Year.ToString(); periods.Add(p1); // если сейчас ¤нварь, то получаем данные за декабрь предыдущего года if (curMonth == 1) { year--; curMonth = 12; } else curMonth--; Period p2 = periodDB.getPeriod(curMonth, year); p2.MonthName = p2.MonthName + " " + p2.Year.ToString(); periods.Add(p2); /* Period p4 = periodDB.getPeriod(5, 2009); p4.MonthName = p4MonthName + " " + p4.Year.ToString(); periods.Add(p4); */ return periods; }