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(); }
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(); }