protected void Page_Load(object sender, EventArgs e) { // отключение кэширования страницы ScadaUtils.DisablePageCache(Response); // получение данных пользователя UserData userData = UserData.GetUserData(); // проверка входа в систему userData.CheckLoggedOn(Context, false); if (!userData.LoggedOn) { throw new Exception(WebPhrases.NotLoggedOn); } // перевод веб-страницы Localization.TranslatePage(this, "Scada.Web.WFrmEvTable"); // определение индексов выбранного представления int viewSetIndex, viewIndex; if (!int.TryParse(Request["viewSet"], out viewSetIndex)) { viewSetIndex = -1; } if (!int.TryParse(Request["view"], out viewIndex)) { viewIndex = -1; } // получение представления и прав пользователя на него BaseView view; MainData.Right right; userData.GetView(null, viewSetIndex, viewIndex, out view, out right); // вывод сообщения о загрузке if (view == null && right.ViewRight) { lblLoading.Visible = true; tblEv.Visible = false; hidEvStamp.Value = "-1"; return; } // определение фильтра событий bool showAllEvents = Request["filter"] == "all"; // проверка загрузки представления и прав на просмотр информации if (view == null) { throw new Exception(WebPhrases.UnableLoadView); } else if (!right.ViewRight || showAllEvents && userData.Role == ServerComm.Roles.Custom) { throw new Exception(CommonPhrases.NoRights); } // определение параметров запроса int year, month, day; int.TryParse(Request["year"], out year); int.TryParse(Request["month"], out month); int.TryParse(Request["day"], out day); DateTime reqDate; try { reqDate = new DateTime(year, month, day); } catch { throw new Exception(WebPhrases.IncorrectDate); } // получение обновлённых данных событий EventTableLight eventTable; AppData.MainData.RefreshEvents(reqDate, out eventTable); hidEvStamp.Value = eventTable.FileModTime.Ticks.ToString(); List <int> cnlList = showAllEvents ? null : view.CnlList; List <MainData.EventView> events = AppData.MainData.ConvertEvents( AppData.MainData.GetLastEvents(eventTable, cnlList, AppData.WebSettings.EventCnt)); if (events.Count > 0) { for (int eventInd = events.Count - 1; eventInd >= 0; eventInd--) { MainData.EventView eventView = events[eventInd]; TableRow row = new TableRow(); WFrmTableView.NewCell(row, eventView.Num, "c"); WFrmTableView.NewCell(row, eventView.Date, "c"); WFrmTableView.NewCell(row, eventView.Time, "c"); WFrmTableView.NewCell(row, eventView.Obj); WFrmTableView.NewCell(row, eventView.KP); WFrmTableView.NewCell(row, eventView.Cnl); WFrmTableView.NewCell(row, eventView.Text); // установка номера события для воспроизведения звука при загрузке страницы if (eventView.Sound && string.IsNullOrEmpty(hidSndEvNum.Value)) { hidSndEvNum.Value = eventView.Num; } // формирование ячейки квитирования if (right.CtrlRight && !eventView.Check) { string chkCellText = "<a href=\"javascript:CheckEvent(" + viewSetIndex + ", " + viewIndex + ", " + year + ", " + month + ", " + day + ", " + eventView.Num + ")\" style=\"color: " + eventView.Color + "\">" + eventView.User + "</a>"; WFrmTableView.NewCell(row, chkCellText, "c"); } else { WFrmTableView.NewCell(row, eventView.User, "c"); } // установка свойств строки таблицы WFrmTableView.SetCssClass(row, eventInd % 3 == 2, eventInd == 0); string color = eventView.Color; if (!(color == "" || color.ToLower() == "black")) { row.ForeColor = Color.FromName(color); } tblEv.Rows.Add(row); } } else { lblNoData.Visible = true; tblEv.Visible = false; } }
protected void Page_Load(object sender, EventArgs e) { // отключение кэширования страницы ScadaUtils.DisablePageCache(Response); // получение данных пользователя UserData userData = UserData.GetUserData(); // определение индексов выбранного представления int viewSetIndex, viewIndex; if (!int.TryParse(Request["viewSet"], out viewSetIndex)) { viewSetIndex = -1; } if (!int.TryParse(Request["view"], out viewIndex)) { viewIndex = -1; } // получение табличного представления и прав пользователя на него BaseView baseView; MainData.Right right; TableView tableView = userData.GetView(typeof(TableView), viewSetIndex, viewIndex, out baseView, out right) ? (TableView)baseView : null; // проверка входа в систему и прав на просмотр информации if (userData.LoggedOn && tableView != null && right.ViewRight) { // определение параметров запроса int year, month, day; int.TryParse(Request["year"], out year); int.TryParse(Request["month"], out month); int.TryParse(Request["day"], out day); string hourStamp = Request["hourStamp"]; DateTime reqDate; try { reqDate = new DateTime(year, month, day); } catch { throw new Exception(WebPhrases.IncorrectDate); } // обновление данных SrezTableLight hourTable; AppData.MainData.RefreshData(reqDate, out hourTable); // формирование таблицы текущих значений элементов представления int itemCnt = tableView.VisibleCount; int itemLastInd = itemCnt - 1; for (int itemInd = 0; itemInd < itemCnt; itemInd++) { TableView.Item item = tableView.VisibleItems[itemInd]; string text; string color; if (item.CnlNum > 0) { text = AppData.MainData.GetCnlVal(item.CnlNum, false, out color); } else { text = ""; color = ""; } TableRow row = new TableRow(); TableCell cell = WFrmTableView.NewCell(row, text == "" ? "<p> </p>" : "<p>" + text + "</p>"); WFrmTableView.SetCssClass(row, itemInd % 3 == 2, itemInd == itemLastInd); tblCurVals.Rows.Add(row); if (!(color == "" || color.ToLower() == "black")) { cell.ForeColor = Color.FromName(color); } } if (string.IsNullOrEmpty(hourStamp) || hourStamp == hourTable.FileModTime.Ticks.ToString()) { // добавление скрипта обновления текущих значений по таймауту AddRefreshCurValsScript(AppData.WebSettings.SrezRefrFreq * 1000); } else { // добавление скрипта обновления часовых значений при загрузке AddRefreshHourValsScript(); } } else { // добавление скрипта обновления часовых значений при загрузке // для перехода на страницу входа в систему AddRefreshHourValsScript(); } }