protected ChartDataBuilder chartDataBuilder; // объект, задающий данные графика protected void Page_Load(object sender, EventArgs e) { AppData appData = AppData.GetAppData(); UserData userData = UserData.GetUserData(); #if DEBUG userData.LoginForDebug(); #endif // перевод веб-страницы Translator.TranslatePage(Page, "Scada.Web.Plugins.Chart.WFrmChart"); // получение параметров запроса // получить номера как массивы для корректной работы в составе дэшборда int[] cnlNums = Request.QueryString.GetParamAsIntArray("cnlNum"); int[] viewIDs = Request.QueryString.GetParamAsIntArray("viewID"); int cnlNum = cnlNums.Length > 0 ? cnlNums[0] : 0; int viewID = viewIDs.Length > 0 ? viewIDs[0] : 0; DateTime startDate = Request.QueryString.GetParamAsDate(DateTime.Today); // проверка входа в систему и прав if (!userData.LoggedOn) { throw new ScadaException(WebPhrases.NotLoggedOn); } if (!userData.UserRights.GetUiObjRights(viewID).ViewRight) { throw new ScadaException(CommonPhrases.NoRights); } #if !DEBUG // в режиме отладки невозможно получить представление, т.к. плагины не загружены BaseView view = userData.UserViews.GetView(viewID, true); if (!view.ContainsCnl(cnlNum)) { throw new ScadaException(CommonPhrases.NoRights); } // вывод заголовков Title = cnlNum + " - " + Title; lblTitle.Text = view.Title; #endif // вывод дополнительной информации lblStartDate.Text = (string.IsNullOrEmpty(lblTitle.Text) ? "" : ", ") + startDate.ToLocalizedDateString(); lblGenDT.Text = DateTime.Now.ToLocalizedString(); // подготовка данных графика chartDataBuilder = new ChartDataBuilder( new int[] { cnlNum }, startDate, 1, userData.WebSettings.ChartGap, appData.DataAccess); chartDataBuilder.FillData(); }
/// <summary> /// Проверить права на одно представление и принадлежность одного канала /// </summary> protected void CheckRights(int cnlNum, int viewID) { if (!userRights.GetUiObjRights(viewID).ViewRight) { throw new ScadaException(CommonPhrases.NoRights); } #if !DEBUG BaseView view = GetView(viewID); if (!view.ContainsCnl(cnlNum)) { throw new ScadaException(CommonPhrases.NoRights); } #endif }
/// <summary> /// Проверить права на входной канал, который относится к указанному представлению /// </summary> protected bool CheckRights(int cnlNum, int viewID) { if (GetUiObjRights(viewID).ViewRight) { #if DEBUG return(true); #else BaseView view = viewCache == null ? null : viewCache.GetViewFromCache(viewID); return(view != null && view.ContainsCnl(cnlNum)); #endif } else { return(false); } }
private int evNum; // номер события protected void Page_Load(object sender, EventArgs e) { appData = AppData.GetAppData(); userData = UserData.GetUserData(); // проверка входа в систему if (!userData.LoggedOn) { throw new ScadaException(WebPhrases.NotLoggedOn); } // скрытие сообщения об ошибке pnlErrMsg.HideAlert(); if (IsPostBack) { evDate = (DateTime)ViewState["EvDate"]; evNum = (int)ViewState["EvNum"]; } else { // перевод веб-страницы Translator.TranslatePage(Page, "Scada.Web.Plugins.Table.WFrmEventAck"); // получение параметров запроса и сохранение во ViewState evDate = Request.QueryString.GetParamAsDate(DateTime.Today); evNum = Request.QueryString.GetParamAsInt("evNum"); ViewState["EvDate"] = evDate; ViewState["EvNum"] = evNum; int viewID = Request.QueryString.GetParamAsInt("viewID"); // получение события EventTableLight tblEvent = appData.DataAccess.DataCache.GetEventTable(evDate); EventTableLight.Event ev = tblEvent.GetEventByNum(evNum); if (ev == null) { pnlErrMsg.ShowAlert(lblEventNotFound); btnSubmit.Enabled = false; } else { // проверка прав EntityRights rights = userData.UserRights.GetUiObjRights(viewID); if (!rights.ViewRight) { throw new ScadaException(CommonPhrases.NoRights); } if (!userData.UserRights.ViewAllRight) { BaseView view = userData.UserViews.GetView(viewID, true); if (!view.ContainsCnl(ev.CnlNum)) { throw new ScadaException(CommonPhrases.NoRights); } } btnSubmit.Visible = pnlTip.Visible = rights.ControlRight && !ev.Checked; // вывод информации по событию pnlInfo.Visible = true; DispEvent dispEvent = appData.DataAccess.GetDispEvent(ev, new DataFormatter()); lblNum.Text = dispEvent.Num.ToString(); lblTime.Text = dispEvent.Time; lblObj.Text = dispEvent.Obj; lblDev.Text = dispEvent.KP; lblCnl.Text = dispEvent.Cnl; lblText.Text = dispEvent.Text; lblAck.Text = dispEvent.Ack; lblAck.CssClass = ev.Checked ? "ack-yes" : "ack-no"; if (ev.Checked && ev.UserID > 0) { string userName = appData.DataAccess.GetUserName(ev.UserID); lblByUser.Text = string.Format(lblByUser.Text, userName); lblByUser.Visible = userName != ""; } if (dispEvent.Color != "") { try { lblNum.ForeColor = lblTime.ForeColor = lblObj.ForeColor = lblDev.ForeColor = lblCnl.ForeColor = lblText.ForeColor = ColorTranslator.FromHtml(dispEvent.Color); } catch { } } } } }
protected void Page_Load(object sender, EventArgs e) { AppData appData = AppData.GetAppData(); UserData userData = UserData.GetUserData(); #if DEBUG userData.LoginForDebug(); string chartTitle = "Debug"; #endif // перевод веб-страницы Translator.TranslatePage(Page, "Scada.Web.Plugins.Chart.WFrmChart"); // получение параметров запроса // получить номера как массивы для корректной работы в составе дэшборда int[] cnlNums = Request.QueryString.GetParamAsIntArray("cnlNum"); int[] viewIDs = Request.QueryString.GetParamAsIntArray("viewID"); int cnlNum = cnlNums.Length > 0 ? cnlNums[0] : 0; int viewID = viewIDs.Length > 0 ? viewIDs[0] : 0; DateTime startDate = Request.QueryString.GetParamAsDate(DateTime.Today); // проверка входа в систему и прав if (!userData.LoggedOn) { throw new ScadaException(WebPhrases.NotLoggedOn); } if (!userData.UserRights.GetUiObjRights(viewID).ViewRight) { throw new ScadaException(CommonPhrases.NoRights); } #if !DEBUG // в режиме отладки невозможно получить представление, т.к. плагины не загружены BaseView view = userData.UserViews.GetView(viewID, true); if (!view.ContainsCnl(cnlNum)) { throw new ScadaException(CommonPhrases.NoRights); } // вывод заголовка Title = cnlNum + " - " + Title; string chartTitle = view.Title; #endif // вывод дополнительной информации chartTitle += (string.IsNullOrEmpty(chartTitle) ? "" : ", ") + startDate.ToLocalizedDateString(); string chartStatus = DateTime.Now.ToLocalizedString(); // подготовка данных графика ChartDataBuilder dataBuilder = new ChartDataBuilder(new int[] { cnlNum }, startDate, 1, appData.DataAccess); dataBuilder.FillCnlProps(); dataBuilder.FillData(); // build client script sbClientScript = new StringBuilder(); dataBuilder.ToJs(sbClientScript); sbClientScript .AppendFormat("var locale = '{0}';", Localization.Culture.Name).AppendLine() .AppendFormat("var gapBetweenPoints = {0};", userData.WebSettings.ChartGap).AppendLine() .AppendFormat("var chartTitle = '{0}';", HttpUtility.JavaScriptStringEncode(chartTitle)).AppendLine() .AppendFormat("var chartStatus = '{0}';", chartStatus).AppendLine() .AppendLine(); }